SSH Hibernate:持久层
SSH Hibernate: 持久层
ORM框架 Object Ralational Mapping
对象 关系(关系型数据库) 映射
web
service
DAO
———————————–
DB
使用面向对象的方式 操作数据库
ORM框架:
hibernate JDO OBJ TopLink MyBatis …
JPA(标准)
版本: 2 3 4 5
3.6 (3.2 开始支持注解方式开发)
用hibernate:
1 导入jar包 hibernate3.jar
lib/required/*.jar
lib/jpa/*.jar
数据库驱动包
2 hibernate的配置文件: 1 hibernate的总体配置文件 src/hibernate.cfg.xml
数据库连接信息 和少量其余总体配置
2 映射配置文件 实体类 和 数据库表的对象
类名 ——- 表名
属性 ======== 字段
通常映射文件和类型相同 放在同一个包下
***.hbm.xml
——- 主键列和属性的对应
Configuration —— 类
SessionFactory 接口
Session 接口
Tranaction 接口
根据主键查询 session get() load()
get方法和load方法的区别:
1 get方法立即加载 向数据库发送sql 查询数据
load方法 延时加载 执行load时,没有发送sql 而是生成一个代理商对象
当第一个去取非主键属性值时,再发送sql 查询数据
2 当查不到数据时, get 返回null
load 抛异常
封装工具类:
crud save() update() delete() get/load saveOrUpdate()
实体对象在hibernate中的三种状态:
1 瞬时 (transient) 刚new出来的对象
1 生命周期没有被session管理 2 不和数据库中的任何一条数据对应只考虑主键能否对应)
2 持久化 (persistant) session.save(user) session.saveOrUpdate(user)
1 生命周期被session管理 2 和数据中的一条数据对应(只考虑主键能否对应)
3 脱管 (detached)
1 生命周期没有被session管理 2 和数据库中的一条数据对应
修改和删除 只能操作持久化和脱管状态的对象
大字段入库 数据库 blob 类 byte[]
type=”binary”
web项目 文件选择框 把文件存到数据库 (strut2)
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » SSH Hibernate:持久层