1.Hibernate查询
*1)HQL查询
Hibernate Query Language.
HQL属于面向对象的查询语言,语句中使用Hibernate映射的类和属性名,不能使用表名和字段名.类和属性大小写敏感.关键字不区分大小写
HQL语句的结构与SQL相似.
a.支持select,from,group by,order by,having
b.支持各种运算符和表达式,例如+,-,>,<等
c.支持分组函数,max,min,avg,sum,count
支持like,in,between...and,and ,or
e.HQL不能使用 select *
f.HQL不能使用 join ... on语句.on语句不支持
使用示例:单表基本操作
a. "select nickname from User where nickname<>''";
返回的是一个List
b."select id,nickname from User where nickname<>''";
返回的是一个List
c."select new User(id,nickname) from User where nickname<>''";
返回的是一个List
d."from User where nickname<>''";
返回的是一个List
e."select count(*) from User";
返回的是List
f."from User where nickname like ?";
query.setString(0,"&s%");
query.list();
g."from User where nickname like :name";
query.setString("name","&s%");
query.list();
h.将hql写入到hbm.xml
在hbm.xml中定义hql
......映射信息
from User where id=:id
]]>
在程序中使用下面代码获取Query对象
Query query = session.getNamedQuery("findById");
i.HQL分页查询
//设置分页查询参数
//设置抓取记录的起始位置,从0开始
query.setFirstResult(0);
//设置最多抓取5个
query.setMaxResults(5);
List
j.对象关联查询
等值连接1
from
Address address,
User user
where
address.userId = user.id;
等值连接2
from Address address
inner join address.user user
左外连接
from Address address
left outer join address.user user
2)Criteria条件查询(了解)
Criteria c = session.createCriteria(User.class);
3)SQL原生查询(了解)
SQLQuery sqlQuery = session.createSQLQuery(sql);
2015年全国职称计算机考试教材(2007模 .. 定价:¥225 优惠价:¥213 更多书籍 | |
全国职称计算机考试速成过关系列套装:W .. 定价:¥133 优惠价:¥133.0 更多书籍 |