以劳动合同为例:
1. 创建一张实体表:model
/**
* 劳动合同表
* @category 实体类
* @date 2016-1-1
*/
@Entity
@Table(name="h_labor_contract")
public class LaborContract {
/**
* 劳动合同Id
*/
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column
(name="labor_contract_id",nullable=false,unique=true)
private long laborContractId;
/**
* 劳动合同编号
*/
@Column(name="labor_contract_no")
private String laborContractNo;
/**
* 合同名称
*/
@Column(name="labor_contract_name")
private String laborContractName;
/**
* 签署日期
*/
@Column(name="begin_date")
private Date beginDate;
/**
* 截止日期
*/
@Column(name="end_date")
private Date endDate;
/**
* 人事档案代码
*/
@Column(name="personnel_file_no")
private String personnelFileNo;
/**
* 创建时间
*/
@Column(name="create_date")
private Date createDate;
/**
* 备注
*/
@Column(name="remark")
private String remark;
return laborContractName;
}
}
2. 劳动合同持久化层
/**
* 劳动合同持久化层
* @date 2016-1-1
*/
public interfaceLaborContractDao {
/**
* 添加劳动合同
* @param LaborContract 劳动合同实体类
* @return void
*/
public void addLaborContract(LaborContract laborContract);
/**
* 更新劳动合同
* @param LaborContract 劳动合同实体类
* @return void
*/
public void updateLaborContract(LaborContract
laborContract);
/**
* 删除劳动合同
* @param laborContractId 劳动合同代码
* @return void
*/
public void delLaborContract(long laborContractId);
/**
* 通过劳动合同代码查找劳动合同信息
* @param laborContractId 劳动合同代码
* @return LaborContract 返回劳动合同实体类
*/
public LaborContract findLaborContract(long
laborContractId);
/**
* 分页查询出符合条件的劳动合同列表
* @param conditionEntry 查询条件类型
* @param conditionValue 查询条件
* @param page 页码
* @param pageSize 每页显示的数量
* @returnList<CredentialListing> 返回查询到的劳动合同列表
*/
public List<LaborContract> conditionQueryLaborContract
(String conditionEntry,String conditionValue,int pageNo,
int pageSize);
/**
* 查询统计劳动合同数量
* @param conditionEntry 查询条件类型
* @param conditionValue 查询条件
* @return long 返回统计数量
*/
public long countLaborContract(String conditionEntry,
String conditionValue);
/**
* 通过人事档案编号查找劳动合同
* @param PersonnelFileNo 人事档案编号
* @return LaborContract 劳动合同对象
*/
public LaborContract findUserByPersonnelFileNo(String
personnelFileNo);
}
3. 劳动合同持久化层实现:
/**
* 劳动合同持久化层实现
*/
@Repository
public classLaborContractDaoImpl implements LaborContractDao {
@Autowired
private SessionFactory sessionFactory;
/**
* 添加劳动合同
* @param LaborContract 劳动合同实体类
* @return void
*/
public void addLaborContract(LaborContract laborContract){
sessionFactory.getCurrentSession().save(laborContract);
}
/**
* 更新劳动合同
* @param LaborContract 劳动合同实体类
* @return void
*/
public void updateLaborContract(LaborContract laborContract){
sessionFactory.getCurrentSession().update(laborContract);
}
/**
* 删除劳动合同
* @param laborContractId 劳动合同代码
* @return void
*/
public void delLaborContract(long laborContractId){
LaborContract laborContract = (LaborContract)sessionFactory.
getCurrentSession().get(LaborContract.class, laborContractId);
if(laborContract !=null){
sessionFactory.getCurrentSession().delete(laborContract); }
}
/**
* 通过劳动合同代码查找劳动合同信息
* @param laborContractId 劳动合同代码
* @return LaborContract 返回劳动合同实体类
*/
public LaborContract findLaborContract(long laborContractId){
LaborContract laborContract = new LaborContract();
laborContract =(LaborContract)sessionFactory.getCurrentSession().get(LaborContract.class,laborContractId);
return laborContract;
}
/**
* 分页查询出符合条件的劳动合同列表
* @param conditionEntry 查询条件类型
* @param conditionValue 查询条件
* @param page 页码
* @param pageSize 每页显示的数量
* @returnList<LaborContract> 返回查询到的劳动合同列表
*/
@SuppressWarnings("unchecked")
public List<LaborContract> conditionQueryLaborContract(StringconditionEntry,String conditionValue, int pageNo, int pageSize) {
List<LaborContract> list = newArrayList<LaborContract>();
StringBuffer strbuf = new StringBuffer();
strbuf.append("select c from LaborContract c where1=1");
if(conditionEntry !=null && conditionValue!=null&& !conditionEntry.equals("") && !conditionValue.equals("")){
strbuf.append(" and c.")
.append(conditionEntry)
.append("like '%")
.append(conditionValue)
.append("%'");
}
List =sessionFactory.getCurrentSession().createQuery(strbuf.toString())
.setFirstResult((pageNo-1)*pageSize)
.setMaxResults(pageSize).list();
return list;
}
/**
* 查询统计劳动合同数量
* @param conditionEntry 查询条件类型
* @param conditionValue 查询条件
* @return long 返回统计数量
*/
public long countLaborContract(String conditionEntry, String conditionValue){
StringBuffer strbuf = new StringBuffer();
strbuf.append("select count(*) from LaborContract l where1=1");
if(conditionEntry !=null && conditionValue!=null&& !conditionEntry.equals("") && !conditionValue.equals("")){
strbuf.append(" and l.")
.append(conditionEntry)
.append("like '%")
.append(conditionValue)
.append("%'");
}
return ((Long)sessionFactory.getCurrentSession().createQuery(strbuf.toString()).uniqueResult()).intValue();
}
/**
* 通过人事档案编号查找劳动合同
* @param PersonnelFileNo 人事档案编号
* @return LaborContract 劳动合同对象
*/
public LaborContract findUserByPersonnelFileNo(String personnelFileNo) {
String hql = "select e from LaborContract e where personnelFileNo="+personnelFileNo;
LaborContract laborContract =(LaborContract)sessionFactory.getCurrentSession().createQuery(hql).uniqueResult();
return laborContract;
}
}