package com.farm.authority.dao.impl; import java.math.BigInteger; import org.hibernate.SQLQuery; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.springframework.stereotype.Repository; import com.farm.authority.domain.Post; import com.farm.authority.dao.PostDaoInter; import com.farm.core.sql.query.DBRule; import com.farm.core.sql.query.DataQuery; import com.farm.core.sql.result.DataResult; import com.farm.core.sql.utils.HibernateSQLTools; import java.util.List; import java.util.Map; import javax.annotation.Resource; /* * *功能:岗位持久层实现 *详细: * *版本:v0.1 *作者:FarmCode代码工程 *日期:20141124152033 *说明: */ @Repository public class PostDaoImpl extends HibernateSQLTools implements PostDaoInter { @Resource(name = "sessionFactory") private SessionFactory sessionFatory; @Override public void deleteEntity(Post post) { // TODO 自动生成代码,修改后请去除本注释 Session session = sessionFatory.getCurrentSession(); session.delete(post); } @Override public int getAllListNum() { // TODO 自动生成代码,修改后请去除本注释 Session session = sessionFatory.getCurrentSession(); SQLQuery sqlquery = session .createSQLQuery("select count(*) from farm_code_field"); BigInteger num = (BigInteger) sqlquery.list().get(0); return num.intValue(); } @Override public Post getEntity(String postid) { // TODO 自动生成代码,修改后请去除本注释 Session session = sessionFatory.getCurrentSession(); return (Post) session.get(Post.class, postid); } @Override public Post insertEntity(Post post) { // TODO 自动生成代码,修改后请去除本注释 Session session = sessionFatory.getCurrentSession(); session.save(post); return post; } @Override public void editEntity(Post post) { // TODO 自动生成代码,修改后请去除本注释 Session session = sessionFatory.getCurrentSession(); session.update(post); } @Override public Session getSession() { // TODO 自动生成代码,修改后请去除本注释 return sessionFatory.getCurrentSession(); } @Override public DataResult runSqlQuery(DataQuery query) { // TODO 自动生成代码,修改后请去除本注释 try { return query.search(sessionFatory.getCurrentSession()); } catch (Exception e) { return null; } } @Override public void deleteEntitys(List rules) { // TODO 自动生成代码,修改后请去除本注释 deleteSqlFromFunction(sessionFatory.getCurrentSession(), rules); } @Override public List selectEntitys(List rules) { return selectSqlFromFunction(sessionFatory.getCurrentSession(), rules); } @Override public void updataEntitys(Map values, List rules) { // TODO 自动生成代码,修改后请去除本注释 updataSqlFromFunction(sessionFatory.getCurrentSession(), values, rules); } @Override public int countEntitys(List rules) { // TODO 自动生成代码,修改后请去除本注释 return countSqlFromFunction(sessionFatory.getCurrentSession(), rules); } public SessionFactory getSessionFatory() { return sessionFatory; } public void setSessionFatory(SessionFactory sessionFatory) { this.sessionFatory = sessionFatory; } @Override protected Class getTypeClass() { return Post.class; } @Override protected SessionFactory getSessionFactory() { // TODO Auto-generated method stub return sessionFatory; } }