hibernate在tomcat7.X下配置mysql数据源
Jun 07, 2016 pm 03:56 PM先说一点题外话,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,标签之前加入:
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中加入
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("
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对象。

Hot Article

Hot tools Tags

Hot Article

Hot Article Tags

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

PHP's big data structure processing skills

How to optimize MySQL query performance in PHP?

How to use MySQL backup and restore in PHP?

How to insert data into a MySQL table using PHP?

How to fix mysql_native_password not loaded errors on MySQL 8.4

How to use MySQL stored procedures in PHP?

How to create a MySQL table using PHP?

Top 10 Global Digital Virtual Currency Trading Platform Ranking (2025 Authoritative Ranking)
