67,513
社区成员
发帖
与我相关
我的任务
分享
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
<class name="com.dentist.domain.Case" table="case" catalog="dentist">
<id name="id" type="java.lang.Integer">
<column name="id" />
<generator class="identity" />
</id>
<many-to-one name="patient" class="com.dentist.domain.Patient" fetch="select" lazy="false">
<column name="patientid" />
</many-to-one>
<many-to-one name="user" class="com.dentist.domain.User" fetch="select" lazy="false">
<column name="userid" />
</many-to-one>
<property name="date" type="java.util.Date">
<column name="date" length="10" />
</property>
<property name="info" type="java.lang.String">
<column name="info" />
</property>
</class>
</hibernate-mapping>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
<class name="com.dentist.domain.Patient" table="patient" catalog="dentist">
<id name="id" type="java.lang.Integer">
<column name="id" />
<generator class="identity" />
</id>
<property name="name" type="java.lang.String">
<column name="name" />
</property>
<property name="age" type="java.lang.Integer">
<column name="age" />
</property>
<property name="birthday" type="java.util.Date">
<column name="birthday" length="10" />
</property>
<property name="vipcard" type="java.lang.String">
<column name="vipcard" length="11" />
</property>
<property name="sex" type="java.lang.Integer">
<column name="sex" />
</property>
<property name="phone" type="java.lang.String">
<column name="phone" />
</property>
<property name="img" type="java.lang.String">
<column name="img">
<comment>照片</comment>
</column>
</property>
<set name="cases" inverse="true">
<key>
<column name="patientid" />
</key>
<one-to-many class="com.dentist.domain.Case" />
</set>
</class>
</hibernate-mapping>
public Page findCase(Case c,Integer pageNum) {
DetachedCriteria dc = DetachedCriteria.forClass(Case.class);
//患者id
if(c.getPatient().getId()!=null){
dc.add(Restrictions.eq("patientid", c.getPatient().getId()));
}
//病历创建日期
if(c.getDate() != null){
dc.add(Restrictions.eq("date", c.getDate()));
}
return findByPropertyWithCriteria(dc, pageNum);
}
/**
* 分页
*/
private Page findByPropertyWithCriteria(DetachedCriteria dc, int currPage) {
Session session = this.getSession();
// 查总条数
dc.setProjection(Projections.rowCount());
Criteria c = dc.getExecutableCriteria(session);
int countNum = (Integer) c.uniqueResult();//此行在运行时控制台报错
// 总页数
int totalPage = 1;
if (countNum % Constants.PAGE_NUMBER == 0) {
totalPage = countNum / Constants.PAGE_NUMBER;
} else {
totalPage = countNum / Constants.PAGE_NUMBER + 1;
}
Page page = new Page();
page.setTotalPage(totalPage);
// 去掉刚刚添加rowCount投影
dc.setProjection(null);
Criteria c1 = dc.getExecutableCriteria(session);
int num = (currPage - 1) * Constants.PAGE_NUMBER;
c1.setFirstResult(num);
c1.setMaxResults(Constants.PAGE_NUMBER);
List result = c1.list();
page.setResult(result);
page.setCurrPage(currPage);
return page;
}