Hibernate3.x学习笔记
day 01
笔记说明:(本笔记是针对hibernate3.6版本开发的)
第一个hibernate开发环境搭建步骤:
1.添加jar包(hibernate.jar+required文件夹下的jar包+jpa下的jar 包)
2.配置开发环境(hibernate.cfg.xml + xxx.hbm.xml) 从项目文件下copy
主配置文件如下:
<!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 name="foo">
<!-- 配置连接Mysql数据库基本信息 -->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="connection.url">jdbc:mysql:///hibernate</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.username">root</property>
<property name="connection.password">admin</property>
<!-- 配置Hibernate的基本信息 -->
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<property name="hbm2ddl.auto">update</property>
<!-- 导入映射文件 注意路径名称已经是/ 不是点 -->
<mapping resource="com/xuyi/domain/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
映射文件如下:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.xuyi.domain">
<class name="User" table="user">
<id name="id" type="int" column="id">
<generator class="native"/>
</id>
<property name="name" type="string" column="name" />
</class>
</hibernate-mapping>
开发中最常用的几个接口和类:(Configuration、SessionFactory、Session、Query)
创建SessionFactory的步骤:
//创建Configuration
第一种方式: Configuration configuration=new Configuration()
//配置Configuration,有几种配置方式默认就是cfg.xml
configuration.configure();
//构建SessionFactory对象
sessionFactory=configuration.buildSessionFactory();
此种方式采用链式调用法
第二种方式:sessionFactory = new Configuration()//
.configure()//
.buildSessionFactory();
ORM框架的思想以及表和类的对应关系 (表:字段)(类:属性)
API:常用接口和类
Configuration:配置信息类
configure()
configure(String resource)
addResource(String resource)导入一个指定位置的映射文件
addClass(Class clazz)导入与指定类同一个包中的以类名为前缀,后缀为.hbm.xml buildSessionFactory()
SessionFactory:Session工厂
openSession()
getCurrentSession()
close()
Session:Hibernate中最重要的一个对象
主要操作方法
save(Object)
update(Object)
delete(Object)
查询的方法
createQuery(String)--> Query 主要查询方法
createCriteria(Class) --> Criteria 实际开发使用的并不多
管理事务的方法
beginTransaction() --> Transaction
getTransaction() --> Transaction获取当前Session中关联的事务对象
其他的方法
...
Transaction:事务
commit() -->提交事务
rollback() -->回滚事务
每次操作session的时候一定要记得打开和关闭事务以及关闭会话。
Hibernate主配置文件:<property name="connection.username">root</property>
1.采用的是键值对方式
2.按作用可以分为三类:
1.连接数据库基本信息
数据库方言、JdbcUrl、数据库驱动、用户名、密码
2.导入映射文件
<mapping resource=””/>
3.其它配置文件
Show_sql、format_sql、hbm2ddl.auto
映射文件:
1.主键生成策咯:identity、sequence、hilo、native、assigned、uuid、foreign
2.