Hibernate查询示例大全
下文笔者讲述Hibernate查询操作的方法及示例大全,如下所示
使用 HibernateSessionFactory.getSession().createQuery 即可实现数据查询操作例:hibernate数据查询
/** * 一、Session查询 * get()在无主键的情况下返回null * load()在无主键的情况下会产生异常 **/ HibernateSessionFactory.getSession().get(UserInfo.class, "id-a"); HibernateSessionFactory.getSession().load(UserInfo.class, "id-b"); 二、Query查询 //UserInfo是pojo类的名称 String hql="from UserInfo as a"; // 返回类型:list<UserInfo> String hql="select a.userid from UserInfo as a";//返回类型:List<String> String hql="select a.userid,a.name,a.sex from UserInfo as a";//返回类型:List<Object[]> //将查询后的结果转换为指定的vo类型,是根据查询返回列的名称自动匹配的 query.setResultTransformer(new AliasToBeanResultTransformer(UserInfo.class)); /** * 限定查询 */ String kw="java265"; String hql="from UserInfo as a where a.age=? and a.userid like ?"; Query query = HibernateSessionFactory.getSession().createQuery(hql); //设值 (索引从0开始) query.setParameter(0, 10); query.setParameter(1, "%"+kw+"%"); List list = query.list(); /** * 统计查询 */ String kw="java265"; String hql="select count(*) from UserInfo as a where a.age=? and a.userid like ?"; Query query = HibernateSessionFactory.getSession().createQuery(hql); //设值 (索引从0开始) query.setParameter(0, 10); query.setParameter(1, "%"+kw+"%"); Object obj = query.uniqueResult(); /** * 分页查询 */ int currentPage=1; int lineSize=2; String hql="from UserInfo as a"; Query query = HibernateSessionFactory.getSession().createQuery(hql); query.setFirstResult((currentPage-1)*lineSize); query.setMaxResults(lineSize); List list = query.list(); /** * 分组查询 */ String hql="select a.sex, count(*) from UserInfo as a where a.age=? group by a.sex"; Query query = HibernateSessionFactory.getSession().createQuery(hql); //设值 (索引从0开始) query.setParameter(0, 10); List list = query.list();
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。