Hibernate——HQL
来源:互联网 发布:最好看的韩国r级 知乎 编辑:程序博客网 时间:2024/06/07 02:44
HQL: session.createQuery(" ")
1、口诀:见表写对象,见列写属性
2、基本查询
<1> 查询表中所有的数据
<2> 查询某一列:返回值为:List<Object[]>
<3> 带条件查询
直接设值
session.createQuery("select * from tbName where cid=1").list();
命名参数
session.createQuery(select * from tbName where cname = ? and cpwd = ?).setString(0, "admin").setString(1,"123456").list();
索引方式
session.createQuery(select * from tbName where cname = :min and cpwd = :max).setString
("min","admin").setString("max","123456").list();
3、between and
select * from tbName where uage between ? and ?
4、聚合查询:
uniqueResult(),结果就是字符串
int page=Integer.parseInt(session.createQuery("select max(page) from Person").uniqueResult().toString());
System.out.println(page);
5、分页
setFirstResult();从第几条开始
setMaxResults();每页几条数据
int pageNo=2;
int pageSize=2;
List<Person> persons=session.createQuery("from Person").setFirstResult((pageNo-1)*pageSize).setMaxResults(pageSize).list();
for (Person person : persons) {
System.out.println(person);
}
6、排序
//排序
//年龄
List<Person> persons=session.createQuery("from Person order by page desc").list();
for (Person person : persons) {
System.out.println(person);
7、构造查询
带参构造:select new 对象(参数) from 表名所对应的实体类 别名
采用数组:特殊情况 (结果来源于多个表):
将二维数组转换封装成自己的对象( dto数据传输对象)
//构造查询
List<Person> persons=session.createQuery("select new Person(pname,page) from Person").list();
for (Person person : persons) {
System.out.println(person);
8、对象导航
//对象导航
session.createQuery("from Person p where p.city.caddress like ")
将查询语句放入映射文件中:格式:
<query name=" "><![CDATA[查询语句]></query>QL
session.getNamedQuery("name的值");
- Hibernate——HQL
- 初识hibernate——hql
- Hibernate—(HQL查询)
- hibernate HQL ——Query 笔记
- hibernate学习笔记——hql查询
- hibernate——hql总结一
- hibernate查询——hql查询
- Hibernate——Hql实例+详解
- 精通Hibernate——HQL查询详解
- 精通Hibernate——HQL查询详解
- Hibernate笔记——hql总结
- Hibernate学习——(十一)HQL
- Hibernate——HQL数据查询
- hibernate——HQL查询(一)
- Hibernate学习笔记(十) — HQL查询
- 【JavaEE—Hibernate】hql查询简介
- HQL: Hibernate hql大全
- Hibernate-HQL 了解HQL
- ruby 快速学习
- 常用正则表达式示例
- leetcode-312
- Fragment 生命周期
- 垃圾收集器
- Hibernate——HQL
- Monkey 测试命令
- time_wait状态
- JavaSe ——4、面向对象 (接口与抽象类)
- JMeter学习-001-JMeter初识
- SpringMVC学习笔记(九)
- 关于自己之后的学习
- Window下使用MongoDB
- Python 识别验证码