關於hibernate配置c3p0連接池連接mysql問題

前些天看了李剛<struts2+hibernate+spring>那書上的hibernate,配置文件也是按照上面敲進hibernate.cfg.xml文件的,Student.java配置的Student.hbm.xml文件覺得也沒什麼問題,但不知到怎麼回事就是報 connection can not open。鬱悶啊,後來我就把書裏面的配置文件和源碼,複製到MyEclipse下面的一個新web項目中,運行,嗨真下行了,這說明下,那<propertyname="hibernate.connection.url">jdbc:mysql://localhost:3306/test</property>"test"數據庫,必須是先建立的,要不是會報connection 打不開的錯誤。於是接着運行下我之前寫的那鬱悶項目,嘿,居然也行了。我也很鬱悶啊,之前不一樣的配置麼,怎麼現在就行了呢!!!
我貼下源碼 和配置文件吧,大俠 幫忙看下到底是咋啦,
一:hibernate.cfg.xml文件<?xml version='1.0' encoding='GBK'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration>
<session-factory>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<!-- 指定連接數據庫的url,hibernate連接的數據庫名 -->
<property name="connection.url">jdbc:mysql://localhost/tt</property>
<!-- 數據庫用戶名 -->
<property name="connection.username">root</property>
<!-- 數據庫密碼 -->
<property name="connection.password">108226</property>
<!--用c3p0連接池連接所允許的最大連接數-->
<property name="hibernate.c3p0.max_size">20</property>
<!-- c3p0所允許的最少連接數 -->
<property name="hibernate.c3p0.min_size">1</property>
<!-- 指定連接池連接失效的時間 -->
<property name="hibernate.c3p0.timeout">50</property>
<!-- 指定連接池緩存最大的存儲多少個statement -->
<property name="hibernate.c3p0.max_statements">100</property>
<!-- hibernate.c3p0.timeout表示連接對象多長時間應該被銷燬,
注意,是”應該“,但是誰來銷燬它呢,需要一個線程按照hibernate.c3p0.idle_test_period
設定的時間間隔去自動校驗這些鏈接對象並銷燬timeout的 -->
<property name="hibernate.c3p0.idle_test_period">30</property>
<!-- 當連接池裏面的連接用完的時候,C3P0一下獲取的新的連接數 -->
<property name="hibernate.c3p0.acquire_increment">2</property>
<!-- 連接數據庫的數據庫方言 -->
<property name="dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
<!-- 每次都驗證連接是否可用 -->
<property name="hibernate.c3p0.validate">true</property>
<property name="hbm2ddl.auto">create</property>
<mapping resource="dao/students.hbm.xml"/>
</session-factory>
</hibernate-configuration>
二、student.hbm.xml文件
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping package="dao">
<class name="dao.Student" table="tb_student" >
<id name="studentId">
<generator class="identity"/>
</id>
<property name="name" ></property>
<property name="age" ></property>
<property name="sex" ></property>
</class>
</hibernate-mappin
三、Student.java文件

Configuration conf = new Configuration().configure();
//以Configuration創建SessionFactory
SessionFactory sf = conf.buildSessionFactory();
//實例化Session
Session sess = sf.openSession();
//開始事務
Transaction tx = sess.beginTransaction();
//創建消息實例
Student s = new Student();
//設置消息標題和消息內容
s.setName("eee");
s.setAge(5);
s.setSex("boy");
s.setStudentId(2);
sess.save(s);
//提交事務
tx.commit();
//關閉Session
sess.close();
各位走過路過 看看····
發佈了29 篇原創文章 · 獲贊 0 · 訪問量 1798
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章