视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
hibernate在tomcat7.X下配置mysql数据源
2020-11-09 15:06:34 责编:小采
文档


先说一点题外话,LZ最近学习java web。今天刚看到hibernate,发现在hibernate配置数据源时网上的资料都太久远了,一般以tomcat 5 版本下的配置居多。而tomcat 7下的配置略有变化,新手找资料困难,可能会略受打击,故整理资料与大家共享,也可作备忘之用!若

先说一点题外话,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中加入引用

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对象:

代码如下:

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.

*/

public void destroy() {

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

// Put your code here

}

/**

* The doGet method of the servlet.

*

* 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

对象,很简单,相信大家可以搞定。 Session session = util.getSession();

response.setContentType("text/html");

PrintWriter out = response.getWriter();

out.println("");

out.println("");

out.println(" A Servlet");

out.println(" ");

out.println(session);

out.println(" ");

out.println("");

out.flush();

out.close();

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

doGet(request, response);

}

/**

* Initialization of the servlet.

*

* @throws ServletException if an error occurs

*/

public void init()throws ServletException {

// Put your code here

}

}

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

下载本文
显示全文
专题