读书人

hibernate连接池之tomcat6的配备

发布时间: 2012-10-16 09:57:37 作者: rapoo

hibernate连接池之tomcat6的配置

新建一个web项目,然后在tomcat中的的server.xml的配置文件中加入以下配置。

?

?

?

<GlobalNamingResources><!-- Editable user database that can also be used byUserDatabaseRealm to authenticate users--><Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved"factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml" /><Resource auth="Container" description="DB Connection" drivermaxPoolSize="10" minPoolSize="2" acquireIncrement="2" name="jdbc/platform203"user="platformsqluser" password="puei4cgbjx"factory="org.apache.naming.factory.BeanFactory" type="com.mchange.v2.c3p0.ComboPooledDataSource"jdbcUrl="jdbc:jtds:sqlserver://59.151.111.203:1433/platform" /></GlobalNamingResources>

?

然后在tomcat下的context.xml中加入如下配置

?

?

<Context>    <!-- Default set of monitored resources -->    <WatchedResource>WEB-INF/web.xml</WatchedResource>    <ResourceLink name="jdbc/platform203" global="jdbc/platform203" type="javax.sql.DataSource"/>    <!-- Uncomment this to disable session persistence across Tomcat restarts -->    <!--    <Manager pathname="" />    -->    <!-- Uncomment this to enable Comet connection tacking (provides events         on session expiration as well as webapp lifecycle) -->    <!--    <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />    --></Context>

?

加完后要在相应的web项目中加入对应的sql驱动。加完后,在项目的web.xml文件中加入如下代码。

?

?

?

?

<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><resource-ref><description>DB Connection</description><res-ref-name>jdbc/platform203</res-ref-name><res-type>javax.sql.DataSource</res-type><res-auth>Container</res-auth></resource-ref></web-app>

?

在相应的项目中的index.jsp文件中加入以下java代码用来测试是否已成功得到相应的连接

?

?

<%@page import="javax.sql.DataSource"%><%@page import="javax.naming.InitialContext"%><%@page import="java.sql.Connection"%><% InitialContext ctx = new InitialContext(); DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/platform203");     Connection conn = ds.getConnection();          System.out.println(conn);%>

?

?

相应的hibernate.hbm.xml文件的配置。

?

?

?

<?xml version='1.0' encoding='utf-8'?><!DOCTYPE hibernate-configuration PUBLIC    "-//Hibernate/Hibernate Configuration DTD//EN"    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><hibernate-configuration><!-- 以/jndi/name绑定到JNDI的SessionFactory实例 --><session-factory name="java:hibernate/SessionFactory"><!-- 属性 --><property name="connection.datasource">java:/comp/env/jdbc/platform203</property><property name="dialect">org.hibernate.dialect.MySQLDialect</property><property name="show_sql">false</property> <mapping resource="cn/ehoo/hibernate/domain/Department.hbm.xml"  /> <mapping resource="cn/ehoo/hibernate/domain/Employee.hbm.xml" />  <mapping resource="cn/ehoo/hibernate/domain/Person.hbm.xml" /></session-factory></hibernate-configuration>

?

?

?

?

?

在测试页岩index.jsp上写上以下代码。代码并不规范,只是说明程序已经能正常使用了。

<%@page import="javax.sql.DataSource"%><%@page import="javax.naming.InitialContext"%><%@page import="java.sql.Connection"%><%@page import="org.hibernate.cfg.Configuration"%><%@page import="org.hibernate.SessionFactory"%><%       SessionFactory sessionFactory =null;     Configuration cfg = new Configuration();               System.out.println(cfg);cfg.configure();sessionFactory = cfg.buildSessionFactory();System.out.println(sessionFactory);%>

?

?

?

?

?

?相应的java类就不一一写出来了,在附件里找吧。还有我用的是c3p0的连接池与mysql的数据库。在测试中发现要把mysql的驱动,与c3p0的包放在tomcat的lib目录下才能正常使用。没找到这样做的原因。

?

?

?

?

?

?

?

?

读书人网 >编程

热点推荐