第一节:配置数据库连接池                                      

Hibernate学习11——Hibernate 高级配置(连接池、log4j)

这里配置c3p0连接池,需要的jar包:

Hibernate学习11——Hibernate 高级配置(连接池、log4j)

jar包位于hibernate压缩包的:hibernate-release-4.3.5.Final\lib\optional\c3p0

文档中介绍了两种配置方式:

1)在hibernate.properties中配置:

Hibernate学习11——Hibernate 高级配置(连接池、log4j)

2)在hibernate.cfg.xml中配置:

<hibernate-configuration>

    <session-factory>

        <!--数据库连接设置 -->
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="connection.url">jdbc:mysql://localhost:3306/hibernate</property>
        <property name="connection.username">root</property>
        <property name="connection.password">root</property>
       
        <!-- 方言 -->
        <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>
    
        <!-- 控制台显示SQL -->
        <property name="show_sql">true</property>

        <!-- 自动更新表结构 -->
        <property name="hbm2ddl.auto">update</property>
        
        <!-- 最小连接数 --> 
         <property name="c3p0.min_size">7</property> 
         <!-- 最大连接数 -->   
         <property name="c3p0.max_size">42</property> 
         <!-- 获得连接的超时时间,如果超过这个时间,会抛出异常,单位毫秒 -->  
         <property name="c3p0.timeout">1800</property> 
         <!-- 最大的PreparedStatement的数量 -->   
         <property name="c3p0.max_statements">50</property> 
        
        <mapping resource="com/cy/model/Student.hbm.xml"/>
    </session-factory>

</hibernate-configuration>

测试代码:

StudentTest.java:

@Test
    public void testSQLQuery(){
        String sql = "select * from t_student";
        Query query = session.createSQLQuery(sql).addEntity(Student.class);    //查询student,绑定Student实体
        List<Student> studentList = query.list();
        for(Student s: studentList){
            System.out.println(s);
        }
    }
View Code

相关文章: