Heim >Datenbank >MySQL-Tutorial >hibernate 在tomcat7.X 下配置mysql数据源_MySQL

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

WBOY
WBOYOriginal
2016-06-01 13:14:071144Durchsuche

Tomcat7HibernateTomcat

先说一点题外话,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,标签之前加入:

                  maxActive="100" maxIdle="30" maxWait="10000"
               username="javauser" password="javadude" driverClassName="com.mysql.jdbc.Driver"
               url="jdbc:mysql://localhost:3306/javatest"/>

3.在context.xml中加入引用


 name="jdbc/TestDB" global="jdbc/TestDB"    
type="javax.sql.DataSource"/> 

4.在你的工程项目的web.xml中加入

     
        tomcat datasource test,one mysql datasource  
        jdbc/TestDB  
        javax.sql.DataSource  
        Container  
   

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

另外,注意数据源只有在web项目中才可以使用。

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

代码如下:

packagecom.amaker.servlet;

importjava.io.IOException;

importjava.io.PrintWriter;

importjavax.servlet.ServletException;

importjavax.servlet.http.HttpServlet;

importjavax.servlet.http.HttpServletRequest;

importjavax.servlet.http.HttpServletResponse;

importorg.hibernate.Session;

importcom.amaker.util.HibernateUtil;

@SuppressWarnings("serial")

publicclasstestServletextendsHttpServlet {

* Constructor of the object.

publictestServlet() {

super();

* Destruction of theservlet.

publicvoiddestroy() {

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

* The doGet method of theservlet.

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

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

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

*@throwsServletException if an error occurred

*@throwsIOException if an error occurred

publicvoiddoGet(HttpServletRequest request, HttpServletResponse response)

throwsServletException, IOException {

HibernateUtil util =newHibernateUtil();

//HibernateUtil 类用来返回一个Session

 

对象,很简单,相信大家可以搞定。

response.setContentType("text/html");

PrintWriter out = response.getWriter();

out.println(""-//W3C//DTD HTML 4.01 Transitional//EN/">");

out.println("");

out.println(" 

A Servlet");

out.println(" 

");

out.println("  ");

out.println("");

publicvoiddoPost(HttpServletRequest request, HttpServletResponse response)

throwsServletException, IOException {

doGet(request, response);

* Initialization of theservlet.

*@throwsServletException if an error occurs

publicvoidinit()throwsServletException {

}

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

原文地址:http://blog.csdn.net/canglangwenyue/article/details/25924735

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn