您的位置:首页 > 其它

hibernate框架_批量查询(简介)

2018-01-25 17:40 447 查看

批量查询

1.HQL查询

应用场景:不复杂的多表查询

Demo1:

String hql = "from User";
//String hql = "from com.domain.User";
Query query = session.createQuery(hql);//创建HQL查询对象
List<User> list = query.list();//返回list结果


Demo2:

String hql = "from User where uid=1L";
Query query = session.createQuery(hql);//创建查询对象
Userc u= (User) query.uniqueResult();//返回list结果


Demo3:

String hql = "from User where uid=?";
Query query = session.createQuery(hql);//创建查询对象
//设置参数
query.setParameter(0, 1L);//占位符索引,从0开始
User u = (User) query.uniqueResult();//返回list结果


Demo4:

String hql = "from User where uid=:uid";
Query query = session.createQuery(hql);//创建查询对象
//设置参数
query.setParameter("uid", 1L);//占位符索引,从0开始
User u = (User ) query.uniqueResult();//返回list结果


Demo5:

String hql = "from User ";
Query query = session.createQuery(hql);//创建查询对象
//设置参数
query.setFirstResult(0);//起始索引
query.setMaxResult(2);//每页显示条数
List<User> uList =  query.list();//返回list结果


2.Criteria查询

应用场景:单表条件查询

Demo1:

Criteria criteria = session.createCriteria(User.class);
List<User> list = criteria.list();//返回list结果


Demo2:

Criteria criteria = session.createCriteria(User.class);
criteria.add(Restrictions.eq("uid", 1L));//Restrictions对象维护所有条件查询选项
User u = (User) criteria.uniqueResult();


Demo3:

//创建creteria对象
Criteria criteria = session.createCriteria(User.class);
criteria.setFirstResult(0);
criteria.setMaxResults(2);
List<User> list = criteria.list();


3.原生sql查询

应用场景:复杂的多表查询

Demo1:

String sql = "select * from user";
SQLQuery query = session.createSQLQuery(sql);
List<Object[]> list = query.list();


Demo2:

String sql = "select * from user";
SQLQuery query = session.createSQLQuery(sql);
//将指定结果集封装到哪个对象中
query.addEntity(User.class);
List<User> list = query.list();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: