没有合适的资源?快使用搜索试试~ 我知道了~
持久层hibernate详解
需积分: 5 1 下载量 122 浏览量
2009-11-26
15:33:55
上传
评论
收藏 233KB PDF 举报
温馨提示
试读
18页
1.什么是hibernate 2.如何进行hibernate编程 3.详解XML中的标签 4.Hibernate的运行过程解析 5.难点知识 6. 实战练习题
资源详情
资源评论
资源推荐
hibernate 知识小结 email:wangyuxue@tarena.com.cn
北京达内科技 1 2009/3/17
Hibernate 知识小结
作者:王雨学
1. 预备知识(ORM):
ORM:对象关系映射,hibernate 框架的核心实现,映射基本规则
如下:
A 类对应表,一个实体类对应数据库中一张表
B 类的属性对应表中字段
C 表中的每一条数据对应类的一个实例对象;
D.类之间的关系映射成表之间的关系
如下图:
补充:JavaBean 规范:
1.满足 java 的基本命名规范;2.提供空参构造方法;
3.属性提供 setXXX 或 getXXX 方法(一般两者都要提供)
User
id
name
age
Table:t_user
id user_name user_age
1 zhangsan 20
2 lisi 20
User u = new User(2,”lisi”,20);
hibernate 知识小结 email:wangyuxue@tarena.com.cn
北京达内科技 2 2009/3/17
2. 总体把握,hibernate 框架的架构:
3.构建第一个 hibernate 程序:
A 搭建环境(下载并安装工具包,配置环境变量)
B 配置 session 工厂以及配置数据库(连接池)
C orm 映射,编写映射文件(标注)以及实体;
D 编写代码,实现业务:
基于xml 映射文件的 Hibernate 程序编写:
SessionFactory factory = new Configuration().configure()
.BuildSessionFactory();
hibernate 知识小结 email:wangyuxue@tarena.com.cn
北京达内科技 3 2009/3/17
Session session = factory.openSession();
//…… ……
基于 JPA 规范的 Hibernate 程序编写(JDK5.0,Hibernate 3 以上)
AnnotationConfiguration con =
new AnnotationConfiguration().configure();
con.addAnnotatedClass(User.class);//将实体类与 Hibernate 容器关联
SessionFactory sf = con.buildSessionFactory();
Session ss = sf.getCurrentSession();//或者 openSession()
注:关于 jpa 规范,后续课程会详细讲解(略)。
3. hibernate.cfg.xml 中配置 session 工厂常用属性说明:
hibernate.connection.driver_class 驱动类
hibernate.connection.url 数据库 URL
hibernate.connection.username 数据库用户
hibernate.connection.password 数据库密码
hibernate.connection.pool_size 连接池数量
hibernate.connection.datasource 数据源
hibernate.max_fetch_depth 最大抓取深度
current_session_context_class 将Session 与特定服务绑定
4. Hibernate 中 orm 文件书常用配置属性说明:
hibernate 知识小结 email:wangyuxue@tarena.com.cn
北京达内科技 4 2009/3/17
class 标签:
dynamic-insert :如果为 true,表示当保存一个对象时,会动
态生成 insert 语句,只有这个字段不为 null,才会把它包含到
insert 语句中,默认为 false。
dynamic-update :如果为 true,表示当更新一个对象时,会动
态生成 update 语句,只有该字段的值有变化,才会把它包含
到 update 语句中,默认为 false
property标签:
name :持久化类的属性名
type :制定hibernate 的映射类型,一般采用缺省设置
column :相应属性对应的数据表中的列的列名,如 果不显示设置
column 属性,则hibernate 默认采用实体类的属性名做
字段名
not-null :表中该字段是否允许为空,缺省false,表示允许为空
length :数据表中字段的最大长度
unique :字段值是否唯一
通常,column 允许作为 property 的子标签的形式出现,如:
<property name=”” >
<column name=”” sql-type=”sql 数据类型” />
</property>
column 标签的可选属性:
name: 表中的字段名
剩余17页未读,继续阅读
lirong_gui
- 粉丝: 1
- 资源: 21
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0