hibernate 在tomcat7.X 下配置mysql数据源「建议收藏」

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

大家好,又见面了,我是全栈君。

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

   <Resource name=”jdbc/TestDB” auth=”Container” type=”javax.sql.DataSource”
               maxActive=”100″ maxIdle=”30″ maxWait=”10000″
               username=”javauser” password=”javadude” driverClassName=”com.mysql.jdbc.Driver”
               url=”jdbc:mysql://localhost:3306/javatest”/>

3.在context.xml中增加引用


<ResourceLink name=“jdbc/TestDB global=“jdbc/TestDB    
      type=“javax.sql.DataSource”/> 

4.在你的project项目的web.xml中增加<resource-ref>。

    <resource-ref>  
        <description>tomcat datasource test,one mysql datasource</description>  
        <res-ref-name>jdbc/TestDB</res-ref-name>  
        <res-type>javax.sql.DataSource</res-type>  
        <res-auth>Container</res-auth>  
    </resource-ref>

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. <br>

*/

public void destroy() {

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

// Put your code here

}

/**

* The doGet method of the servlet.<br>

*

* 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

对象。非常easy,相信大家能够搞定。 Session session = util.getSession();

response.setContentType(“text/html”);

PrintWriter out = response.getWriter();

out.println(“<!DOCTYPE HTML PUBLIC \”-//W3C//DTD HTML 4.01 Transitional//EN\”>”);

out.println(“<HTML>”);

out.println(”  <HEAD><TITLE>A Servlet</TITLE></HEAD>”);

out.println(”  <BODY>”);

out.println(session);

out.println(”  </BODY>”);

out.println(“</HTML>”);

out.flush();

out.close();

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

doGet(request, response);

}

/**

* Initialization of the servlet.<br>

*

* @throws ServletException if an error occurs

*/

public void init()throws ServletException {

// Put your code here

}

}

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

hibernate 在tomcat7.X 下配置mysql数据源「建议收藏」


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116427.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Python模拟一个用户登录系统

    Python模拟一个用户登录系统题目:模拟一个用户登录系统,用户输入用户名和密码,输入正确即可进入系统直接上代码:#模拟一个用户登录系统,用户输入用户名和密码,输入正确即可进入系统d=[‘yao’,’123456′]while1:name=input("请输入用户名:")ifnameind:breakelse:print("你输入的用户名不存在,请…

    2022年5月17日
    49
  • 查看已安装tensorflow版本

    查看已安装tensorflow版本由于tensorflow版本不同,可能一些函数的调用也有变换,这时候可能需要查看tensorflow版本,可以在终端输入查询命令如下:pythonimporttensorflowastftf.__version__查询tensorflow安装路径为:tf.__path__查询结果如下:

    2022年6月25日
    29
  • 通信加密原理

    通信加密原理一、历史:消息通信时都需要加密,如果不加密,在请求和响应的过程中,如果消息中途被黑客劫持或篡改后果不堪设想。如图所示:1976年以前,所有的加密方法都是同一种模式:对称加密1、客户端C选择某一种加密规则K,对信息进行加密,然后将加密的信息传递给服务端S;2、服务端S接收到加密的信息后…

    2022年5月27日
    40
  • 【转载】一些VS2013的使用技巧

    【转载】一些VS2013的使用技巧

    2021年11月18日
    43
  • 阿里编程规范 pdf_阿里前端开发规范

    阿里编程规范 pdf_阿里前端开发规范阿里编程规范及阿里Java开发规约插件AlibabaJavaCodingGuidelines统一规范标准将有助于提高行业编码规范化水平,帮助行业人员提高开发质量和效率、大大降低代码维护成本。2017年年初,首次公开了《阿里巴巴Java开发手册》,自从第一个版本起,倍受业界关注。为了让开发者更加方便、快速的将规范推动并实行起来,阿里巴巴基于手册内容,研发了一套自动化的IDE检测插件(…

    2025年7月4日
    3
  • 断开和服务器共享连接的方法「建议收藏」

    断开和服务器共享连接的方法「建议收藏」断开和服务器共享连接的方法

    2022年4月25日
    339

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号