Hibernate无语句面向对象查询(Criteria)
一、基本查询。
1、使用Session对象创建一个Criteria实例。
Criteria criteria = session.createCriteria(Customer.class); (查询所有的Customer对象)
2、调用Criteria对象中的查询方法进行查询操作。
List<Customer> list = criteria.list();
二、条件查询(同上)。
1、使用Criteria对象添加查询条件。
criteria.add(Restrictions.eq("cust_id", 1l)); (添加查询参数,查询cust_id为1的查询对象)
查询条件:
(1)> : gt
(2)>=: ge
(3)< : lt
(4)<= : le
(5)==: eq
(6)!= : ne
(7)in : in
(8)between and: between
(9)like: like
(10)is not null: isNotNull
(11)is null: isNull
(12)or: or
(13)and: and
2、调用Criteria对象中的查询方法进行查询操作。、
三、分页查询(同上)。
1、使用Criteria对象设置分页查询的条件。
criteria.setFirstResult(1);
criteria.setMaxResult(5);
2、执行查询操作。
四、排序查询(同上)。
1、调用Criteria对象的addOrder方法并传入参数。
criteria.addOrder(Order.asc("cust_id")); (按表字段cust_id进行排序)。
2、调用criteria对象的查询方法进行查询操作。
五、统计查询(同上)。
1、调用criteria对象的setProjection方法,并传入条件参数。
criteria.setProjection(Projections.rowCount());
2、调用查询方法进行查询操作。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!