- 5
- 0
- 约2.02万字
- 约 35页
- 2016-11-01 发布于贵州
- 举报
Hibernate_学习总结 (5000字)
ok3w_ads(“s004”);
ok3w_ads(“s005”);
Hibernate初级学习总结
1. Hibernate是基于是么原因产生的?(Hibernate的有点)
? 答案:实现业务逻辑的代码和数据库访问代码掺杂在一起,使程序结构不清晰,可
读性差
? 在程序代码中嵌入面向关系的SQL语句,使开发人员不能完全运用面向对象的思维
来编写程序
? 业务逻辑和关系数据模型绑定,如果关系数据模型发生变化,例如修改了
CUSTOMERS表的结构,那么必须手工修改程序代码中所有相关的SQL语句,这增加了维护软件的难度
? 如果程序代码中的SQL语句包含语法错误,在编译时不能检查这种错误,只有在运行时才能发现这种错误,这增加了调试程序的难度 2. Hibernate是什么?
? 它是连接Java应用程序和关系数据库的中间件
? 它对JDBC API进行了封装,负责Java对象的持久化
? 在分层软件体系结构中它位于持久化层,封装了所有数据访问细节,使业务逻辑层
可以专注于实现业务逻辑
? 它是一种ORM映射工具,能够建立面向对象的域模型和关系数据模型之间的映射 3. hibernate中进行DML数据库操作时当注意的事项!
Public void insertUser(User user){
Configuration cfg = new Configuration().configure();SessionFactory sf = cfg.buildSessionFactory();Session s = sf.openSession();
Transaction tx = s.beginTransaction();
//Transaction tx = s.getTransaction(); tx.beigin();s.save(user);mit(); }
1).Configuration这个对象是用来解析和读取hibernate配置文件的对象,进一创建hibernate上下文对象sessionFactory启动hibernate框架。
.configure()有了这个方法,程序就会自动去src根目录找所需要的配置文件。 2).SessionFactory这是一个重量级的对象,它的创建将会使hibernate框架启动,进而创建Session对象,数据源的代理,是一个重量级的对象!如果每次都创建和销毁这样就会影响程序的运行效率,所以要单独的写在一个工具类当中,hibernae已经为我们写好了这个工具类,就是hibernateSessionFactory.java 这个工具类。
3)。Hibernate中要求必须要进行事物的控制才能正确的操作数据库,即没有自动提交。基于Session下创建的Transaction这个对象进行事物的控制。
3)。这里如果数据提交失败的话那它怎么没有数据回滚的操作呢?这里就要注意:其实hibernate已经在save()这个函数内帮我们做了try 和catch进行了数据的回滚操作,即hibernate处理异常的方式是运行时异常 RuntimenException。
4.Hibernate中复合主键的配置多个字段合起来构成一个主键
? 当没有代理主键时,采用多个自然主键来做主键 ? 两种映射方式:直接映射和间接映射 ? Demo3 直接法:
user.hbm.xml 中配置如下: lt;composite-idgt;
lt;key-property name=“name” column=“name” type=“string” /gt; lt;key-property name=“phone” column=“phone” type=“long”/gt; lt;/composite-idgt;
间接法: Class UsrPk{ String name; Long phone; }
Class User{ UserPk id; }
User u = new User(); UserPk id = new UserPk(); id.setName(“bbb”); id.setPhone(); u.setId(id);
user.hbm.xml 中配置如下:
lt;composite-id class”com.bluedot.d
您可能关注的文档
- 2014年高考语文答题技巧以及作文写作技巧总结 (4000字).doc
- 2014房地产策划方案.doc
- 2014房地产营销策划方案.doc
- 2014新版PEP英语四年级下册教案 (800字).doc
- 2014最新版九年级英语上册1-10单元表格式教案 .doc
- 2014最全财务管理部门工作总结报告 _0.doc
- 2014花城版小学五下音乐教案 (5000字).doc
- 2015企业年终总结 (5000字).doc
- 2015企业年终工作总结 (8000字).doc
- 2014最新金融学院工作总结 _0.doc
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
最近下载
- 2025年寒假作业九年级化学人教版答案.pdf VIP
- 李子奈计量经济学(第五版)-第一章-绪论.pptx VIP
- 第21讲 相似三角形及其应用(练习)(教师版)-2025年中考数学一轮复习讲练测.docx VIP
- 信息安全管理手册.doc VIP
- 2026年高考数学二轮复习突破:立体几何与空间向量之球的切接问题.pdf VIP
- 2026年高考数学二轮复习突破:立体几何与空间向量之空间向量与空间角.pdf VIP
- 2026年养老院营销策划方案.docx VIP
- 博雅教育理念与钢琴教育融合思考.doc VIP
- 部编人教版五年级语文下册全册教案(表格版).pdf VIP
- 《数据采集与预处理》教学教案(全).doc VIP
原创力文档

文档评论(0)