hibernate 在tomcat7.X 下配置mysql数据源「建议收藏」

hibernate 在tomcat7.X 下配置mysql数据源

大家好,又见面了,我是全栈君。

先说一点题外话,LZ近期学习java web。

今天刚看到hibernate,发如今hibernate配置数据源时网上的资料都太久远了,一般以tomcat 5 版本号下的配置居多。而tomcat 7下的配置略有变化,新手找资料困难,可能会略受打击,故整理资料与大家共享。也可作备忘之用。若有不当之处。还请指教!

1.加入数据库驱动包mysql-connector-java-5.1.13-bin.jar加入到tomcat文件夹下的lib包中。


注意:网上差点儿全部版本号都说须要加入commons-dbcp-1.4.jar,commons-pool-1.5.4.jar和commons-collections.jar。

可是tomcat 7 已经不用加入这些jar文件了。由于tomcat 7的lib包以下已经集成了这些库。

官方集成文档上有:These libraries are located in a single JAR at $CATALINA_HOME/lib/tomcat-dbcp.jar

大概意思就是:这些库文件都位于一个单独的JAR文件里,该文件的路径是/lib/tomcat-dbcp.jar。

2.改动Tomcat_Home/conf/server.xml,</host>标签之前增加:

   <Resource name=”jdbc/TestDB” auth=”Container” type=”javax.sql.DataSource”
               maxActive=”100″ maxIdle=”30″ maxWait=”10000″
               username=”javauser” password=”javadude” driverClassName=”com.mysql.jdbc.Driver”
               url=”jdbc:mysql://localhost:3306/javatest”/>

3.在context.xml中增加引用


<ResourceLink name=“jdbc/TestDB global=“jdbc/TestDB    
      type=“javax.sql.DataSource”/> 

4.在你的project项目的web.xml中增加<resource-ref>。

    <resource-ref>  
        <description>tomcat datasource test,one mysql datasource</description>  
        <res-ref-name>jdbc/TestDB</res-ref-name>  
        <res-type>javax.sql.DataSource</res-type>  
        <res-auth>Container</res-auth>  
    </resource-ref>

5.在hibernate.cfg.xml文件里配置数据库连接,这个有非常多教程,此处便不再详述。

另外,注意数据源仅仅有在web项目中才干够使用。

再次出来写个简单的servlet来输出hibernate 的session对象:

代码例如以下:

package com.amaker.servlet;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.hibernate.Session;

import com.amaker.util.HibernateUtil;

@SuppressWarnings(“serial”)

public class testServletextends HttpServlet {

/**

* Constructor of the object.

*/

public testServlet() {

super();

}

/**

* Destruction of the servlet. <br>

*/

public void destroy() {

super.destroy();// Just puts “destroy” string in log

// Put your code here

}

/**

* The doGet method of the servlet.<br>

*

* This method is called when a form has its tag value method equals to get.

* @param request the request send by the client to the server

* @param response the response send by the server to the client

* @throws ServletException if an error occurred

* @throws IOException if an error occurred

*/

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

HibernateUtil util = new HibernateUtil();

//HibernateUtil 类用来返回一个Session

对象。非常easy,相信大家能够搞定。 Session session = util.getSession();

response.setContentType(“text/html”);

PrintWriter out = response.getWriter();

out.println(“<!DOCTYPE HTML PUBLIC \”-//W3C//DTD HTML 4.01 Transitional//EN\”>”);

out.println(“<HTML>”);

out.println(”  <HEAD><TITLE>A Servlet</TITLE></HEAD>”);

out.println(”  <BODY>”);

out.println(session);

out.println(”  </BODY>”);

out.println(“</HTML>”);

out.flush();

out.close();

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

doGet(request, response);

}

/**

* Initialization of the servlet.<br>

*

* @throws ServletException if an error occurs

*/

public void init()throws ServletException {

// Put your code here

}

}

訪问结果如图。返回一个session对象。

hibernate 在tomcat7.X 下配置mysql数据源「建议收藏」


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116427.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Oracle insert into太慢

    Oracle insert into太慢insertinto太慢insertinto太慢?Roger带你找真凶运营商客户的计费库反应其入库程序很慢,应用方通过监控程序发现主要慢在对于几个表的insert操作上。按照我们的通常理解,insert应该是极快的,为什么会很慢呢?而且反应之前挺好的。这有点让我百思不得其解。通过检查event也并没有发现什么奇怪的地方,于是我通过10046跟踪了应用的入库程序,如下应用方反应比较慢…

    2022年7月25日
    127
  • Spring AOP 切面@Around注解的具体使用

    Spring AOP 切面@Around注解的具体使用@Around注解可以用来在调用一个具体方法前和调用后来完成一些具体的任务。比如我们想在执行controller中方法前打印出请求参数,并在方法执行结束后来打印出响应值,这个时候,我们就可以借助于@Around注解来实现;再比如我们想在执行方法时动态修改参数值等类似功能的注解还有@Before等等,用到了SpringAOP切面思想,SpringAOP常用于拦截器、事务、日志、权限验…

    2022年7月15日
    38
  • SIFT 尺度空间

    SIFT 尺度空间   最近也注意一些图像拼接方面的文章,很多很多,尤其是全景图拼接的,实际上类似佳能相机附加的软件,好多具备全景图拼接,多幅图像自动软件实现拼接,构成(合成)一幅全景图像(风景)。Sift算法,我略知一二,无法仔细描述(刚也贴了2个最近的资料)。     当就尺度空间(scalespace),我想,其在计算机视觉(ComputerVision)/图像的多分辨率分析(尤其近年来小波的多分

    2022年10月10日
    0
  • python3 三种字符串(无前缀,前缀u,前缀b)与encode()「建议收藏」

    python3 三种字符串(无前缀,前缀u,前缀b)与encode()「建议收藏」假设读者已经了解了什么叫字符集,什么叫编码,什么叫解码。首先要明确,虽然有三种前缀(无前缀,前缀u,前缀b),但是字符串的类型只有两种(str,bytes),实验如下:根据程序以及以上运行结果,发现无前缀,和前缀u,构造出来的字符串常量,是一样的。类型一样是str,长度一样是3,==判断也是返回true。其实,这里是因为,python3中,字符串的存储方式都是以Unicode字符…

    2022年5月6日
    65
  • 语音信号处理——线性预测编码LPC「建议收藏」

    语音信号处理——线性预测编码LPC「建议收藏」语音信号处理二:干净语音的特征提取:今天的信号与系统,DSP知识点参考SpokenLanguageProcessing第5,6章LPC方程的Durbin算法推导:语音信号数字处理(杨行峻,迟惠生)第四章,数字语音处理(Rabiner)第九章作业是自己实现语音信号的LPC预测算法:输入一段语音信号,选定不同阶数p,在最小二乘准则下,用自相关法估计预测系数aia_iai​,对比重建语…

    2022年5月9日
    51
  • 国外全能免费主页空间

    国外全能免费主页空间国外全能免费主页空间,支持ASP.NET、PHP、CGI等 [来源:不详|作者:佚名|时间:2007-6-622:19:28|收藏本文]   WebHostforASP.NET提供15M免费主页空间,每月2G的流量限制,web方式上传管理文件,支持ASP、ASP.NET、PHP、Perl、CGI以及Access数据库,无广告。必须拥有顶级域名才能申请,如果您手头上有空

    2022年7月11日
    20

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号