1、hibernate.hbm2ddl.auto:
*create:先删除原有表,再创建(没有数据)
*update:只在表结构发生变化时,进行修改表操作。
*create-drop:先删除原有表,再创建(没有数据)。程序运行结束后,再将所有表drop掉。
*none:不执行任何建表操作
2、hibernate.show_sql
*true:显示SQL执行语句
*false:不显示SQL执行语句
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.show_sql">true</property><!-- 显示sql语句 -->
<property name="hibernate.format_sql">true</property><!-- 格式化sql语句 -->
<!--
自动建表选项:
1.create先删表再建表
2.create-drop启动时建表(config.buildSessionFactory();这个表示启动时),退出时删表(当调用SessionFactory的close(),就删除),多用于测试
3.update 如果前后表结构不一致,就创建或更新表(开发用的较多)
4.validate 启动时验证表结构,如果不一致就抛异常(产品上线时候用)
-->
<property name="hibernate.hbm2ddl.auto">create</property>
<!-- 数据库信息 -->
<property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hibernate_new</property>
<property name="hibernate.connection.driver_class">com.jdbc.mysql.Driver</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<!-- 配置C3P0连接池 -->
<property name="connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property><!-- 设置数据源供应商,最关键的一步 -->
<property name="c3p0.max_size">10</property><!-- 最大连接数 -->
<property name="c3p0.min_size">3</property><!-- 最小连接数 -->
<property name="c3p0.acquire_increment">2</property><!-- 连接数不够一次增加2个-->
<!-- 启用session线程本地化,将session绑定到当前线程,实现session传播(在service层实现事务管理),那么在获取session的时候就用 sf.getCurrentSession();而不是sf.openSession()了-->
<property name="current_session_context_class">thread</property>
</session-factory>
</hibernate-configuration>