本文仅用于学习 原因互相学习交流的小伙伴可以联系我
hibernate这个持久层框架,现在已经比较少用了,主要是性能好像不行,并且产生了脏读等数据库方面的问题.
hibernate的配置文件必须命名为hibernate.cfg.xml.并且放在src目录下
<?xml version="1.0" encoding="UTF-8"?>
<!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>
<!-- 1 数据库部分配置 必须-->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql:///hibernate_day01</property><!------注意修改数据库名称-->
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property><!--------------注意修改密码-->
<!-- 配置c3p0连接池 -----------------hibernate默认使用的连接池 -->
<!-- <property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property> -->
<!-- 2 hibernate基本配置 可选 -->
<property name="hibernate.show_sql">true</property><!--------是否在控制台显示sql语句-->
<property name="hibernate.format_sql">true</property><!--------是否对sql语句进行格式化-->
<!--
创建数据库表,需要配置实现
create-drop: 如果数据库存在相同的表,把表删除再创建
create:如果数据库存在相同的表,再创建相同字段的表
update:如果数据库存在相同的表,把表更新,如果没有表,创建表
validate:如果数据库存在相同的表,把表更新,如果没有表,创建表;多个校验功能:数据库表字段必须和实体类属性完全一样
-->
<property name="hibernate.hbm2ddl.auto">update</property>
<!--
配置数据库方言 方言必须配置
mysql做分页使用limit关键字,limit关键字只能使用在mysql里面
oracle使用rownum,只能使用oracle里面
-->
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- 与线程绑定 主要用于事务回滚中保持同一个session-->
<property name="hibernate.current_session_context_class">thread</property>
<!-- 3 引入映射文件 必须-->
<mapping resource=" cn/itcast/entity/ User.hbm.xml"/>
</session-factory>
</hibernate-configuration>