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数据源「建议收藏」


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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 顶级域名 一级域名 二级域名 三级域名划分「建议收藏」

    顶级域名 一级域名 二级域名 三级域名划分「建议收藏」域是分层管理的,就像中国的行政级别。最高层的域是根域(root)".",就是一个点,它就像国家主席一样。全球只有13个根域服务器,基本上都在美国,中国一台根域服务器都没有。根域的下一层就是第二层次的顶级域(TLD)了,那么它就是各省省长了。顶级域一般两种划分方法:按国家划分和按组织性质划分。◇按国家划分:.cn(中国)、.tw(台湾)、.hk(香港)。基本都是两个字母的。◇按组…

  • pycharm激活码最新【在线注册码/序列号/破解码】

    pycharm激活码最新【在线注册码/序列号/破解码】,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • java 打印数组内容

    java 打印数组内容对于java打印数组内容,暂时总结若干方法如:

  • 聊聊LuaJIT「建议收藏」

    聊聊LuaJIT「建议收藏」JIT什么是JITJIT=JustInTime即时编译,是动态编译的一种形式,是一种优化虚拟机运行的技术。程序运行通常有两种方式,一种是静态编译,一种是动态解释,即时编译混合了这二者。Ja

  • 【机器学习】代价函数,损失函数,目标函数区别

    【机器学习】代价函数,损失函数,目标函数区别一:损失函数,代价函数,目标函数定义首先给出结论:损失函数(LossFunction)是定义在单个样本上的,算的是一个样本的误差。代价函数(CostFunction)是定义在整个训练集上的,是所有样本误差的平均,也就是损失函数的平均。目标函数(ObjectFunction)定义为:最终需要优化的函数。等于经验风险+结构风险(也就是CostFunction+正则化项)。关于目标函数和…

  • Bass库Mp3转wav、samplerate/channel修改[通俗易懂]

    Bass库Mp3转wav、samplerate/channel修改[通俗易懂]代码地址:https://download.csdn.net/download/qq_14931305/10803169Bass库官网:http://www.un4seen.com/Bass库参考文档:http://www.un4seen.com/doc/#bass/bass.html1.Bass库集成集成请参考我之前的博客:https://blog.csdn.net/qq_149…

发表回复

您的电子邮箱地址不会被公开。

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