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

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP를 사용하여 MySQL 테이블에 데이터를 삽입하는 방법은 무엇입니까?

MySQL 8.4에서 mysql_native_password가 로드되지 않음 오류를 수정하는 방법

상위 10 개 글로벌 디지털 가상 통화 거래 플랫폼 순위 (2025 권위있는 순위)
