//Hibernate查询
@Repository("crb_bgkDao")
public class Crb_bgkDaoImpl extends BaseDaoImpl<Crb_bgk> implements ICrb_bgkDao {
@Override
public PageInfo<Crb_bgk> queryByPersonAndHospital(PageInfo<Crb_bgk> pageInfo,
Hospital hospital, Person person, String bqfl) {
DetachedCriteria detached = DetachedCriteria.forClass(entityClass);
//取别名
DetachedCriteria detachedPage = DetachedCriteria.forClass(entityClass);
detached.createAlias("person", "p");
detached.createAlias("hospital", "h");
detachedPage.createAlias("person", "p");
detachedPage.createAlias("hospital", "h");
try {
//根据医院查询
if (hospital != null && hospital.getHospitalId() != null
&& !"".equals(hospital.getHospitalId())) {
detached.add(Restrictions.eq("h.hospitalId", hospital.getHospitalId()));
detachedPage.add(Restrictions.eq("h.hospitalId", hospital.getHospitalId()));
//根据个人信息查询
if (person != null) {
//姓名
if (person.getName() != null && !"".equals(person.getName())) {
detached.add(Restrictions.ilike("p.name", person.getName(), MatchMode.ANYWHERE));
detachedPage.add(Restrictions.ilike("p.name", person.getName(), MatchMode.ANYWHERE));
}
//身份证
if (person.getCardNumber() != null && !"".equals(person.getCardNumber())) {
detached.add(Restrictions.eq("p.cardNumber", person.getCardNumber()));
detachedPage.add(Restrictions.eq("p.cardNumber", person.getCardNumber()));
}
}
//病情分类:8--艾滋病;9--寄生虫;7--其他传染病
if (bqfl != null && !"".equals(bqfl)) {
if ("8".equals(bqfl.trim())) {
detached.add(Restrictions.like("crb_yl", "8", MatchMode.ANYWHERE));
detachedPage.add(Restrictions.like("crb_yl", "8", MatchMode.ANYWHERE));
}
else if ("9".equals(bqfl.trim())) {
detached.add(
//“或”查询
Restrictions.or(
Restrictions.like("crb_yl", "9", MatchMode.ANYWHERE),
Restrictions.like("crb_bl", "9", MatchMode.ANYWHERE)
)
);
detachedPage.add(
Restrictions.or(
Restrictions.like("crb_yl", "9", MatchMode.ANYWHERE),
Restrictions.like("crb_bl", "9", MatchMode.ANYWHERE)
)
);
}
else if ("7".equals(bqfl.trim())) {
//根据判断字段是否为空查询
detached.add(Restrictions.isNotNull("qtcrb"));
detachedPage.add(Restrictions.isNotNull("qtcrb"));
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
pageInfo.setData(this.getHibernateTemplate().findByCriteria(detached,
pageInfo.getCurrentPage() * pageInfo.getPageSize(), pageInfo.getPageSize()));
pageInfo.setPageRow(queryByRowNumber(detachedPage));
return pageInfo;
}
Hibernate查询1
最新推荐文章于 2021-08-06 17:12:00 发布