您好,欢迎访问一九零五行业门户网

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

先说一点题外话,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中加入引用
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对象:
代码如下:
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(-//w3c//dtd html 4.01 transitional//en\>);
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对象。
其它类似信息

推荐信息