您的位置:首页 > 其它

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;

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: