Hibernate
文章平均质量分 60
Armo_
这个作者很懒,什么都没留下…
展开
-
【Hibernate】【简单使用+四大对象】
基本使用 @Test public void myTest(){ //解析hibernate.cfg.xml文件 Configuration cfg = new Configuration().configure(); //获得sessionFactory对象 SessionFactory sessionFactory =原创 2018-01-01 18:45:31 · 151 阅读 · 0 评论 -
【Hibernate】【高级查询】【QueryObject+Page+dao.getPage(Query)】
高级查询就三步骤;将页面请求来的查询数据,封装成一个XXXQuery对象.在XXXDAOImpl中,声明方法public Page getPage(Query对象)Action中,调用方法得到Page对象,并响应.query对象作用:拼接sql语句,生成sql的参数列表.用于处理请求. getPage方法作用:将生成的查询结果封装成page对象 page对象作用: 里面是页面内容,包原创 2017-12-29 13:18:35 · 1526 阅读 · 0 评论 -
【Hibernate】【泛型DAO接口+泛型DAO实现类】
背景1.每个Impl接口都要写get,delete,save,update,list,query的方法 2.每个DAO类都要去实现impl的方法. 结果:造成大量接口和类的代码重复—>违背dry原则原创 2017-12-29 12:08:56 · 655 阅读 · 0 评论 -
【Hibernate】【乐观锁,悲观锁】
事务并发的五类问题第一类丢失更新:两个事务同时更新一个数据,A提交,B回滚,数据回滚第二类 丢失更新:两个数据同时关系一个数据,A晚提交,B早提交,B无效脏读:一个事务内,读取了事务B未提交的数据.(结果事务B回滚,该事务就用了脏数据)虚读:一个事务内,前后读取不一致,(期间有人增加过数据)不可重复读:一个事务内两次读取同一条数据,返回结果不相同.(期间有人修改过该数据)MySQL的隔离原创 2018-01-03 13:12:22 · 180 阅读 · 0 评论 -
【Hibernate】【一,二,三级缓存】
一级缓存一级缓存生命周期跟一个session的生命周期相同,最多一个请求一级缓存就是一个Map对象.作用:便于对对象的管理用session查询的对象,其实都是一级缓存的数据原理:用seession取对象A:生成key==A类全限名+#A.id值从一级缓存的map中找该key.若没有找到,从数据中查找,并以查找到的对象为value,存入map.若有找到,直接返回一级缓存中的对象,不再发原创 2018-01-03 11:21:29 · 3458 阅读 · 0 评论 -
【Hibernate】【对象四大状态】
在Hibernate,会有编码顺序和SQL语句顺序不一致情况,要从对象状态角度思考;session的方法,导致对象状态的改变,从而才发送SQL临时状态无id,数据库中没有对应的值new 出一个对象后 删除状态的事务提交后 持久化状态存于Hibernate的一级缓存中,数据库有对应的值,被Hibernate管理save,get,load,query.list,update 执行这些方法后,操原创 2018-01-03 10:54:23 · 156 阅读 · 0 评论 -
【Hibernate】【映射文件】【关系映射】
关系映射:即需要映射的属性,是一个实例对象.如员工的部门属性.单向多对一(常用)MySQL的表格 员工类中的属性 private Department dept;//dept_id属性的映射 由员工管理,在员工的映射文件设置<many-to-one name="dept" column="dept_id"/>案例1有一个员工A属于部门B,两者都没有存入数据库 情况1:sessio原创 2018-01-02 15:04:19 · 156 阅读 · 0 评论 -
【Hibernate】【映射文件】【主键+普通属性+枚举属性的映射】
开头<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC '-//Hibernate/Hibernate Mapping DTD 3.0//EN' 'http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd'>实体<hibe原创 2018-01-02 10:53:01 · 366 阅读 · 0 评论 -
【Hibernate】【配置文件】【基于Spring】
模版<!-- sessionFactory --> <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> <!--1.注入连接池bean--> <property name="dataSource" ref="dataSource原创 2018-01-02 09:54:26 · 112 阅读 · 0 评论 -
【Hibernate】【Session对象】【Query对象和HQL】
Session对象1.简介session对象是与数据库会话的对象,提供了与数据库交互的方法.session对象是线程不安全的,所以不能做为全局变量.2,Session对象的获取和关闭获取/创建和关闭的方法: //获取新的session对象(不常用) Session session = sessionFactory.openSess原创 2018-01-01 21:29:20 · 1023 阅读 · 0 评论