已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大白菜收集制作 更多/xiaolincc26 第一章 ORM 概述 目标: 理解ORM 熟悉Hibernate 的作用 1 1. 2. 3. 4. 5. 大白菜收集制作 更多/xiaolincc26 软件分层的优点 伸缩性 可维护性 可扩展性 可重用性 可管理性 2 内存 姓名:张三 密码:123 性别:男 用JDBC完成数据在持久和瞬时状 态间的转换: *.execute (“ “) . 磁盘 什么是持久化? 瞬时状态: 保存在内存的程序数据,程序退出 后,数据就消失了,称为瞬时状态 持久状态: 保存在磁盘上的程序数据,程序退 出后依然存在,称为程序数据的持 久状态 持久化: 将程序数据在瞬时状态和持久状态 之间转换的机制 大白菜收集制作 更多/xiaolincc26 Hibernate是一个优秀的持久化框架 3 Dao DB 用JDBC 持久数据 大白菜收集制作 更多/xiaolincc26 Action Server 4 Hiberante应用程序的结构 (1)Application:应用 (2)Persistent Object:持久化对象 (3)perties:Hibernate 属性文件/Hibernate配置文件 (4)XML Mapping:Hibernate映射文 件 (5)Database:数据库 大白菜收集制作 更多/xiaolincc265 JDBC与Hibernate的比较 相同点: 两者都是JAVA的数据库操作中间件。 两者对于数据库进行直接操作的对象都不是线程安全的,都需要及时关闭。 两者都可以对数据库的更新操作进行显式的事务处理。 不同点: 使用的SQL语言不同:JDBC使用的是基于关系型数据库的标准SQL语言,Hibernate 使用的是HQL(Hibernate query language)语言 操作的对象不同:JDBC操作的是数据,将数据通过SQL语句直接传送到数据库中执行, Hibernate操作的是持久化对象,由底层持久化对象的数据更新到数据库中。 数据状态不同:JDBC操作的数据是“瞬时”的,变量的值无法与数据库中的值保持一 致,而Hibernate操作的数据是可持久的,即持久化对象的数据属性的值是可以跟数据 库中的值保持一致的。 大白菜收集制作 更多/xiaolincc266 属性字段 nameuser_name sexuser_sex pwuser_pw 对象数据(O) User对象 name:张三 sex:男 pw:123 表现层 业务逻辑层 关系型数据 (R) 映射信息 什么是ORM? ORM(对象-关系映射): 完成对象数据到关系型数据映射 的机制称为对象-关系映射,简称 ORM。 持久化层 类: User表: TBL_User TBL_User 大白菜收集制作 更多/xiaolincc267 小结 是一个主流的持久化框架 在JDBC基础上进行分装 只需要少量代码就可以完成持久化工作 是一个优秀的ORM(对象-关系映射)机制 通过映射文件保存映射信息 在业务层以面向对象的方式编程,不用考虑数据保存 形式 大白菜收集制作 更多/xiaolincc268 3个准备 1) 添加Hibernate库到项目 大白菜收集制作 更多/xiaolincc269 2-1):添加配置文件 - hibernate.cfg.xml jdbc:microsoft:sqlserver:/localhost:1433;Database=pubs sa pwd com.microsoft.jdbc.sqlserver.SQLServerDriver org.hibernate.dialect.SQLServerDialect true 大白菜收集制作 更多/xiaolincc2610 2-2):添加配置文件 - hibernate.cfg.xml org.hibernate.dialect.SQLServerDialect java:/comp/env/pubs hibernate 大白菜收集制作 更多/xiaolincc2611 准备3:添加实体类和映射文件(UserInfo.hbm.xml) 大白菜收集制作 更多/xiaolincc2612 7、 关闭Session 6、 提交事务 5、 持久化操作 save/update/delete/find 2、 创建 SessionFactory 3、 打开 Session 4、 开始一个事务 使用Hibernate的7个步骤: 1、 Configuration 大白菜收集制作 更多/xiaolincc2613 User.hbm.xml Transaction Configuration 创建 SessionFactory 创建 Session 执行 Hibernate.cfg.xml FWXX.cfg.xml 开始 save delete update get mit() session.close() 结束 创建和销毁都相当耗费 资源,通常一个系统内 一个数据库只创建一个 类似于JDBC中的 Connection 复杂的查询操作稍后介绍 大白菜收集制作 更多/xiaolincc2614 根据主键加载 Session session = sf.openSession(); 修改 User user = (User)session.get(User.class, id); session.close(); System.out.println(user.getUname() + “,“ + user.getUpass(); tx = session.beginTransaction(); User user = this.testLoad(id); user.setUname(“new Name“); session.update(user); mit(); tx = session.beginTransaction(); User user = this.testLoad(id); session.delete(user); mit(); 没有更新数据, 不进行事务控 制 大白菜收集制作 更多/xiaolincc2615 Hibernate 使用Hibernate实现: 配置Hibernate关联自动加载区县对应的街道 配置Hi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年新能源汽车智能化研发岗年终技术成果与用户体验报告
- 2025年医药制造企业年度工作总结与药品生产报告
- 2026年中国邮政储蓄银行江苏分行秋季校园招聘备考题库附答案详解
- 激励机制设计
- 2025盘锦市兴隆台区公开招聘社区专职工作者25人备考题库含答案详解(巩固)
- 山东省惠民县第一中学高一下学期期末综合练习历史试题无答案
- 2025年新干县招聘城市社区专职网格员8人备考题库及答案详解(典优)
- 2025吉林通化市集安市消防救援大队招聘3人备考题库及答案详解(夺冠)
- 2026兴业银行长春分行秋季校园招聘备考题库参考答案详解
- 2026年度中国工商银行江苏省分行校园招聘1000人备考题库附答案详解(培优)
- 铝合金门窗合同范本
- DB3704∕T 004-2020 阴平大枣生产技术规程
- 《钠离子电池原理与应用》课件
- 资产管理 文化数字资产交易实施指南 征求意见稿
- 医院内控培训
- 14-1《促织》(说课稿)-2024-2025学年高一语文下学期同步教学说课稿专辑(统编版必修下册)
- 【苏教版】2023-2024学年一年级上册科学期末测试卷5
- 内蒙古包头市昆都仑区2023-2024学年七年级上学期期末调研检测数学试卷(含解析)
- 甲亢完整课件完整版
- 供应商合作协议书范本2024年
- Unit 6 In a nature park Part A Lets talk Lets learn大单元整体教学设计
评论
0/150
提交评论