QBC检索方式
来源:互联网 发布:python return 用法 编辑:程序博客网 时间:2024/06/05 14:06
依赖接口:Criteria
数据模型:
tb_user(userId,userName)
tb_addr(addrId,addrName,userId)
Entity:
class Addr{
private int addrId;
private String addrName;
}
class User{
private int userId;
private String userName;
private Set addrs = new HashSet();
}
备注:省略geters 和 seters
例:
Criteria c = session.createCriteria(User.class);
c.add(Expression.eq("userId", 1));
user = (User)c.uniqueResult(); //有List users = c.list();
执行为:select * from tb_user where userId = 1;
Expression 的静态接口
User 中的属性和具体的值比较:
eq : 等于(=) Expression.eq("userId",1) select * from tb_user where userId=1
gt : 大于(>) Expression.gt("userId",1) select * from tb_user where userId>1
ge : 大于等于(>=) Expression.ge("userId",1) select * from tb_user where userId>=1
lt : 小于(<) Expression.lt("userId",1) select * from tb_user where userId<1
le : 小于等于(<=) Expression.le("userId",1) select * from tb_user where userId<=1
like:模糊查询 Expression.like("userName","n%") select * from tb_user where userName like 'n%'
between : 在之间(between) Expression.between("userId",1,5) select * from tb_user where userId between 1 and 5
and :
or :
select * from user where userId=3 or userId=6
c.add(Expression.or(Expression.eq("userId",3),Expression.eq("userId",6)));
sql :Expression.sql("lower({alias}.name) like lower(?)","Erica%",Hibernate.STRING);
User 中的属性和Addr 中的属性比较:使用前要调用Criteria 的createAlias
eqProperty("aa.addrId","this.userId")
gtProperty("aa.addrId","this.userId")
geProperty("aa.addrId","this.userId")
ltProperty("aa.addrId","this.userId")
leProperty("aa.addrId","this.userId")
Criteria 的其他接口:
c.createAlias("addrs", "aa") :创建addrs 的别名,效果是查询时带上tb_addr的内联
如果不使用别名:效果是查询时使用左连接
分页
//从第100条开始,检索20条数据
c.setFirstResult(100);
c.setMaxResult(20);
排序
//对结果进行排序
c.addOrder(Order.asc("userId"));//userId的升序
c.addOrder(Order.desc("userName")); //userName的降序
Expression 各方法中的属性名参数是指Entity中对应实际库表字段的属性名,而非库表中的实际字段名称
Expression.eq(Filed field,Value value);
filed 为类的属性
- QBC检索方式
- QBC检索方式
- QBC检索方式
- hibernate QBC检索方式查询
- Hiberante中的QBC检索方式
- Hibernate的QBC检索方式
- HQL检索方式、QBC检索方式、SQL检索方式
- HQL检索方式、QBC检索方式、SQL检索方式
- HQL检索方式、QBC检索方式、SQL检索方式
- HQL检索方式、QBC检索方式、SQL检索方式
- Hibernate之QBC检索(查询)方式
- QBC检索
- 【Hibernate】Hibernate的检索方式:OID、HQL、QBC
- HQL和QBC和QBE + hibernate检索方式
- Hibernate的检索方式(HQL、QBC、本地SQL等)
- Hibernate检索方式之QBC(Query By Criteria)
- Hibernate的检索方式(4)QBC查询
- Hibernate深入理解----Hibernate 检索方式(HQL,QBC,本地SQL)
- 框架与树状结构菜单的结合
- 深入DNS域名解析服务原理
- HQL检索方式
- HQL检索方式(扩展)
- OID检索方式
- QBC检索方式
- 将asp.net发布到空间步骤记录
- Struts2项目启动报错信息:struts2-core-2.1.6.jar!/struts-default.xml无法加载
- 1->1(外键)
- 过滤关键字大全-网页关键字过滤-sql注入关键字过滤
- 1->1(主键生成)
- 1->N(连接表)
- 1->N(外键)
- N->1(连接表)