欢迎来到天天文库
浏览记录
ID:49530784
大小:203.11 KB
页数:7页
时间:2020-03-02
《hibernate查询.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、非原创:Hibernate的三种查询方式1.HQL(HibernateQueryLanuage)语句,这是类似SQL语句的一种对象化查询语句.2.使用Criteria对象,进行按条件查询(QuerybyCriteria,简称QBC)和按示例查询(QuerybyExample简称QBE).3.生成原生的sql(NativeSQL)语句.Criteria的基本使用Java代码 1.Transaction tx = session.beginTransaction(); 2.Criteria criteria = session.createCriteria(Testbook.clas
2、s); 3.List list=criteria.list(); 4.tx.commit(); 查询Testbook中所有的数据,然后返回Criteria接口的核心方法 add() 增加一个代表查询条件的Criterion对象addOrder() 增加一个代表排序的Criterion对象createAlias() 创建关联查询,为所关联的持久化类建立别名createCriteria() 在相互关联的持久化类之间建立条件约束setFirstResult() 设定要获取的第一条记录的位置setMaxResults() 设定要获取的记录的
3、最大数量list() 获取满足查询条件的记录的集合uniqueResult() 获取满足查询条件的唯一记录 对查询结果进行排序Java代码 1.Transaction tx = session.beginTransaction(); 2.Criteria criteria = session.createCriteria(Testbook.class).add( 3.Restrictions.like("name","任%")).add(Restrictions.between("id",1000,1010)); 4.criteria.addOrder(Order.
4、desc("id")).addOrder(Order.asc("createdTime")); 5.List list=criteria.list(); 6.tx.commit(); 实现分页显示数据Java代码 1.Transaction tx = session.beginTransaction(); 2.Criteria criteria = session.createCriteria(Testbook.class).add( 3.Restrictions.like("nam
5、e","任%")); 4.criteria.addOrder(Order.desc("id")); 5.criteria.setMaxResults(30); 6.criteria.setFirstResult(10);//setFirstResult()从0开始计数 7.List list=criteria.list(); 8.tx.commit(); 只查询一条记录Java代码 1.Transaction tx = session.beginTransaction(); 2.Criteria criteria = sessio
6、n.createCriteria(Testbook.class).add( 3.Restrictions.like("name","任%")); 4.criteria.addOrder(Order.desc("id")); 5.criteria.setMaxResults(1); 6.Testbook tb=(Testbook)criteria.uniqueResult(); 7.tx.commit(); Restrictions类<---------------------------------------------------------------------
7、--------------------------------------> 条件"或"方式组合查询条件Java代码 1.Transaction tx = session.beginTransaction(); 2.Criteria criteria=session.createCriteria(Testbook.class); 3.Criterion criterion1=Restrictions.or(Restrictions.like("n
此文档下载收益归作者所有