关于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();
各位走过路过 看看····

你可能感兴趣的:(Hibernate,xml,mysql,MyEclipse,jdbc)