<!--标准的XML文件的起始行,version='1.0'表明XML的版本,encoding='gb2312'表明XML文件的编码方式-->
<?xml version="1.0" encoding="UTF-8"?>
<!-- 表明解析本XML文件的DTD文档位置,DTD是DocumentType Definition的缩写
,即文档类型定义,XML解析器使用DTD文档来检查XML文件的合法性
Hibernatesourceforge.net/hibernate-configuration-3.0.dtd可以在Hibernate3.1.3软件包中src\org\hibernate目录中找到 -->
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- 数据库基本配置信息 -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://127.0.0.1:3306:MyProjectForStudy</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">password</property>
<!-- 数据库连接池大小 -->
<property name="hibernate.connection.pool.size">20</property>
<!-- 是否在后台显示Hibernate用的的SQL语句,开发时设置ture ,便于差错,程序运行时可以在Eclipse的控制台显示Hibernate执行的SQL语句,项目部署后可设置false,提高运行效率 -->
<property name="hibernate.show_sql">true</property>
<!-- jdbc.fetch_size是指Hibernate每次从数据库中取出并放到JDBC的statement中的记录条数,fetch size 越大,读的次数越少,数度越快 -->
<property name="jdbc.fetch_size">50</property>
<!-- jdbc.batch_batch是指Hibernate批量插入,删除和更新是每次操作的记录数,值越大,批量操作向数据库发送的SQL次数越少,速度就越快,同样消耗内存就越大 -->
<property name="jdbc.batch_size">23</property>
<!--jdbc.use_scrollable_resultset是否允许Hibernate用JDBC的可滚动的结果集。对分页的结果集。对分页时的设置非常有帮助-->
<property name="jdbc.use_scrollable_resultset">false</property>
<!--connection.useUnicode连接数据库时是否使用Unicode编码-->
<property name="Connection.useUnicode">true</property>
<!--connection.characterEncoding连接数据库时数据的传输字符集编码方式,最好设置为gbk,用gb2312有的字符不全-->
<property name="connection.characterEncoding">gbk</property>
<!-- 是否自动创建数据库表,主要有几个值:
validate:当sessionFactory创建时,自动验证或schema定义导入数据库
create:每次启动都drop掉原来的schema ,创建新的。
create-drop:当sessionFactory明确关闭时,drop掉schema
update:如果没有schema就创建,有就更新
-->
<property name="hbm2ddl.auto">create</property>
<!-- 配置此处 sessionFactory.getCurrentSession()可以完成一系列的工作,当调用时,
hibernate将session绑定到当前线程,事务结束后,hibernate
将session从当前线程中释放,并且关闭session。当再次调用getCurrentSession
时,将得到一个新的session,并重新开始这一系列工作。-->
<property name="current_session_context_class">thread</property>
<mapping source=""/>
</session-factory>
</hibernate-configuration>