Hibernate查询方式(many to many)
来源:互联网 发布:吹笛子软件下载 编辑:程序博客网 时间:2024/06/05 03:23
多对多(many to many)
导航查询
查询某个对象对应下的所有联系对象,使用对象导航实现
//查询cid=1客户,再查询这个客户里面所有联系人
Customer customer =session.get(Customer.class , 1);
//再查询这个客户里面所有联系人
//直接得到客户里面联系人的set集合
Set<LinkMan> linkman=customer.getSetLinkMan();
HQL查询
查询所有
1.查询表中所有记录
(1)创建Query对象,写hql语句
(2)调用Query对象里面的方法得到结果
2.查询所有: from 实体类名称
//1 创建Query对象
Query query =session.creatQuery(“from Customer”);
//2 调用方法得到结果
List<Customer> list=query.list();
条件查询
1.hql语句查询表中记录
(1) from 实体类名称 Where 实体类属性名=? and 实体类属性名=?
from 实体类名称 where 实体类属性名 like ?
2.条件查询: from 实体类名称
//1 创建Query对象
Query query =session.creatQuery(“from Customer c where c.custName like ?”);
//2 设置?的值
// %浪% 模糊查询 ? 从 0开始
query.setParameter(0, %浪%);
List<Customer> list=query.list();
排序查询
1.hql排序语句写法
(1)from 实体类名称 order by 实体类属性名称 asc/desc
分页查询
1.hql语句
(1)查询表所有
from 实体类名称
(2)设置开始位置
query.setFirstResult( );
(3)设置每页记录数
query.setMaxResult( );
投影查询
1.投影查询,查询不是所有字段而是部分字段
例如: select cid,custName from Customer
聚集函数查询
1.常用聚集函数
count,sum,avg,max,min
2.hql语句写法
(1)查询表记录数
-select count(*) from 实体类名称
//Object直接返回对象形式uniqueResult
//obj是Long类型,不能直接转成Integer类型
int iobj=(int)obj;
System.out.println(iobj);
//需要先Long之后,用intValue()
QBC查询
1 使用hql查询需要写hql语句,但是使用qbc时候,不需要写语句了,使用方法实现
2 使用qbc时候,操作实体类和属性
3 使用qbc,使用Criteria对象实现
查询所有
1.创建Criteria对象
2.调用方法得到结果
条件查询
1.创建Criteria对象
2.调用add方法设置条件值
2.1 Restrictions.eq按条件查询
2.2 Restrictions.like模糊查询
排序查询
1.创建Criteria对象
2.调用方法addOrder(Order.desc(“?”));
分页查询
1.创建Criteria对象
2.方法同HQL语句
2.1 criteria.setFirstResult(?); ?:设置开始位置
2.2 criteria.setMaxResult(?); ?:设置每页记录数
开始位置计算公式:(当前页-1)* 每页记录数
统计查询
1.创建Criteria对象
2.调用criteria.setProjection(Projections.rowCount());
3.获取唯一值criteria.uniqueResult();
4.转型输出结果
导航查询
查询某个对象对应下的所有联系对象,使用对象导航实现
//查询cid=1客户,再查询这个客户里面所有联系人
Customer customer =session.get(Customer.class , 1);
//再查询这个客户里面所有联系人
//直接得到客户里面联系人的set集合
Set<LinkMan> linkman=customer.getSetLinkMan();
HQL查询
查询所有
1.查询表中所有记录
(1)创建Query对象,写hql语句
(2)调用Query对象里面的方法得到结果
2.查询所有: from 实体类名称
//1 创建Query对象
Query query =session.creatQuery(“from Customer”);
//2 调用方法得到结果
List<Customer> list=query.list();
条件查询
1.hql语句查询表中记录
(1) from 实体类名称 Where 实体类属性名=? and 实体类属性名=?
from 实体类名称 where 实体类属性名 like ?
2.条件查询: from 实体类名称
//1 创建Query对象
Query query =session.creatQuery(“from Customer c where c.custName like ?”);
//2 设置?的值
// %浪% 模糊查询 ? 从 0开始
query.setParameter(0, %浪%);
List<Customer> list=query.list();
排序查询
1.hql排序语句写法
(1)from 实体类名称 order by 实体类属性名称 asc/desc
分页查询
1.hql语句
(1)查询表所有
from 实体类名称
(2)设置开始位置
query.setFirstResult( );
(3)设置每页记录数
query.setMaxResult( );
投影查询
1.投影查询,查询不是所有字段而是部分字段
例如: select cid,custName from Customer
聚集函数查询
1.常用聚集函数
count,sum,avg,max,min
2.hql语句写法
(1)查询表记录数
-select count(*) from 实体类名称
//Object直接返回对象形式uniqueResult
//obj是Long类型,不能直接转成Integer类型
int iobj=(int)obj;
System.out.println(iobj);
//需要先Long之后,用intValue()
QBC查询
1 使用hql查询需要写hql语句,但是使用qbc时候,不需要写语句了,使用方法实现
2 使用qbc时候,操作实体类和属性
3 使用qbc,使用Criteria对象实现
查询所有
1.创建Criteria对象
2.调用方法得到结果
条件查询
1.创建Criteria对象
2.调用add方法设置条件值
2.1 Restrictions.eq按条件查询
2.2 Restrictions.like模糊查询
排序查询
1.创建Criteria对象
2.调用方法addOrder(Order.desc(“?”));
分页查询
1.创建Criteria对象
2.方法同HQL语句
2.1 criteria.setFirstResult(?); ?:设置开始位置
2.2 criteria.setMaxResult(?); ?:设置每页记录数
开始位置计算公式:(当前页-1)* 每页记录数
统计查询
1.创建Criteria对象
2.调用criteria.setProjection(Projections.rowCount());
3.获取唯一值criteria.uniqueResult();
4.转型输出结果
阅读全文
0 0
- Hibernate查询方式(many to many)
- hibernate many to many查询
- Hibernate many-to-many的查询
- Hibernate many-to-many的查询
- hibernate-----many-to-many
- Hibernate many to many
- hibernate many-to-many
- Hibernate Many-to-Many
- Hibernate Many-To-Many Revisited
- hibernate映射many-to-many
- Hibernate Many-to-Many Mappings
- hibernate映射many-to-many
- hibernate many-to-one // one-to-many
- Hibernate级联实践之三(many-to-many)
- hibernate使用摘要(many-to-many N+1问题)
- hibernate many-to-one
- hibernate one to many
- Hibernate one-to-many
- 2016传智SSH框架CRM项目(5天)笔记(2017年5月20日22:11:15)
- cover(AHOI第一题)
- 第一天——项目的背景+框架搭建
- RAII惯用法:C++资源管理的利器
- Leetcode 392(Java)
- Hibernate查询方式(many to many)
- mongodb学习笔记
- CentOS环境下模拟Hadoop2.7.3环境搭建(虚拟机)
- AppbarLayout实现基本的头部跟随列表滚动效果
- opencv学习笔记(1)----图像读写;添加噪声
- 铱星模块的使用参考手册
- linux网络IPv6
- 故事版xib --view上添加tableview
- Enum使用及原理