Hibernate是一款持久化的框架(Object Relationship Mapping),它对JDBC进行了轻量级的封装,它能够根据我们的需求,自动的将实体类映射到数据库表中进行存储。
可以去官网找相应的jar包:http://hibernate.org/
需要两个配置文件:
1、/TestHibernate/src/hibernate.cfg.xml
2、/TestHibernate/src/entity/Student.hbm.xml
hibernate.cfg.xml配置文件:
<?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>
<!--DB连接四要素 -->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql:///oa?useUnicode=true&characterEncoding=UTF8</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">123</property>
<!-- hibernate会根据你所指定生成sql语句,但是要指定数据库的版本 配置从core jar包里面找 -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
<!-- 数据源(DBCP):数据库连接池 -->
<property name="hibernate.connection.provider_class">org.hibernate.c3p0.internal.C3P0ConnectionProvider</property>
<!-- 配置当前session上下文 保证同一个线程中获取的session是同一个-->
<property name="hibernate.current_session_context_class">thread</property>
<!-- 自动建表 里面的值也可以是create,但是每次都会新建一个表,影响效率,update在原有的表上面添加信息 -->
<property name="hibernate.hbm2ddl.auto">update</property>
<!-- 显示sql -->
<!-- <property name="hibernate.show_sql">true</property> -->
<!-- 格式化sql -->
<!-- <property name="hibernate.format_sql">true</property> -->
<!-- 注册映射文件 -->
<mapping resource="entity/Student.hbm.xml"/>
</session-factory>
</hibernate-configuration>