Hibernate多条件查询,HQL拼接
2017-07-16 23:43
477 查看
今天学习Hibernate,要做一个或多个条件的查询的时候,需要用到判断进行HQL语句的拼接!
dao:
@Override
public PageBean<Student> findByAllMsg(Student student, int currentPage,
int pageSize) {
int begin = (currentPage - 1) * pageSize;
String hql = "from Student where 1=1";
if (student.getStuid() != -1) {
hql = hql + " AND stuid = " + student.getStuid();
}
if (student.getName() != "") {
hql = hql + " AND name = " + student.getName();
}
if (student.getBirthday() != null) {
hql = hql + " AND birthday = " + student.getBirthday();
}
if (student.getAge() != -1) {
hql = hql + " AND age = " + student.getAge();
}
if (student.getSex() != "") {
hql = hql + " AND sex = '" + student.getSex() + "'";
}
if (student.getGrade() != "") {
hql = hql + " AND grade = '" + student.getGrade() + "'";
}
Query query = sessionFactory.getCurrentSession().createQuery(hql);
query.setFirstResult(begin);
query.setMaxResults(pageSize);
List<Student> pageList = query.list();
return fenYe.base(pageSize, currentPage, hql, pageList);
}
entity:public class Student {
private int stuid;
private String name;
private Date birthday;
private int age;
private String sex;
private String grade;
}
dao:
@Override
public PageBean<Student> findByAllMsg(Student student, int currentPage,
int pageSize) {
int begin = (currentPage - 1) * pageSize;
String hql = "from Student where 1=1";
if (student.getStuid() != -1) {
hql = hql + " AND stuid = " + student.getStuid();
}
if (student.getName() != "") {
hql = hql + " AND name = " + student.getName();
}
if (student.getBirthday() != null) {
hql = hql + " AND birthday = " + student.getBirthday();
}
if (student.getAge() != -1) {
hql = hql + " AND age = " + student.getAge();
}
if (student.getSex() != "") {
hql = hql + " AND sex = '" + student.getSex() + "'";
}
if (student.getGrade() != "") {
hql = hql + " AND grade = '" + student.getGrade() + "'";
}
Query query = sessionFactory.getCurrentSession().createQuery(hql);
query.setFirstResult(begin);
query.setMaxResults(pageSize);
List<Student> pageList = query.list();
return fenYe.base(pageSize, currentPage, hql, pageList);
}
entity:public class Student {
private int stuid;
private String name;
private Date birthday;
private int age;
private String sex;
private String grade;
}
相关文章推荐
- Hibernate 笔记 HQL查询:条件查询,聚集函数,子查询,导航查询
- 使用json实现查询条件传回Action进行hql语句拼接查询实现在结果中查询功能在datagrid中显示查询结果
- Hibernate的学习之路十七(HQL条件查询)
- 2012-11-16 hibernate锁、hql联接查询、where子句中的boolean条件
- hibernate根据条件动态组装sql/hql语句(仿ibatis动态查询语句功能)
- Hibernate_根据条件动态组装sql/hql语句(仿ibatis动态查询语句功能)
- Hibernate笔记:HQL查询总结(二)——条件查询
- Hibernate的学习之路十七(HQL条件查询)
- hibernate 多条件组合查询之sql拼接
- Hibernate HQL基础 限定查询条件(这里面有各种条件查询)
- Hibernate的学习之路十七(HQL条件查询)
- hibernate--HQL查询语句-----分组、排序--多条件排序
- 【Java EE (Struts2 + Spring + Hibernate)开发】 :Hibernate(二)之【HQL查询|条件查询|SQL查询】
- Hibernate的学习之路十七(HQL条件查询)
- Hibernate 笔记 HQL查询(二)条件查询,聚集函数,子查询,导航查询
- Hibernate学习30 -- Hibernate查询语言(HQL)4 -- 条件查询
- Hibernate 笔记 HQL查询 条件查询,聚集函数,子查询,导航查询
- Hibernate的学习之路十七(HQL条件查询)
- Hibernate HQL基础 限定查询条件
- Hibernate多对多关联映射的HQL中的in条件查询问题