Hibernate运行原理
image.png
Hibernate六大核心接口,两个主要配置文件
Configuration接口:负责配置并启动Hibernate
SessionFactory接口:负责初始化Hibernate
Session接口:负责持久化对象的CRUD操作
get() 根据主键查询
save() 添加数据
update() 根据主键更新
saveOrUpdate() 如果数据存在,更新,不存在,添加
delete() 删除数据
Transaction接口:负责事务
Query接口和Criteria接口:负责执行各种数据库查询
group by 后出现的必须在select后出现
select age,count(*) from User group by User;
条件查询 别名eid
Query query = session.createQuery("from Employee where eid=:eid");
query.setParameter("eid", 2);
聚合函数:count,max,sum,min等
排序:order by 字段 desc;
将查询到的数据直接封装到相关对象中,注意:需要提供相关的构造方法
Query query = session.createQuery("select new User(u.name,u.age) from User u");
/*多表查询 ,emps是department中的一个set类型的集合
fetch强制的关联查询(迫切连接), 会将部门下的员工数据直接绑定到部门对象的员工集合中
此时会得到关联的员工表的数据。此时员工标的数据放在set集合中。可遍历集合得到具体数据*/
Query query = session.createQuery("select d from Department d inner join fetch d.emps e");
Query query = session.createQuery("from User where name like ?");
/模糊查询时,%写到传的参数里
query.setParameter(0, "%a%");
Query query = session.createQuery("from User");
分页时,从哪个索引开始
query.setFirstResult(1);
/分页时,每页获取几条记录
query.setMaxResults(3);
网友评论