@Repository public class BaseDao extends HibernateDaoSupport{ protected Class objectClass; protected String className; protected String alias; // protected Session session; private static final Logger log = LoggerFactory .getLogger(BaseDao.class); @Resource public void setSessionFactry(SessionFactory sessionFactroy){ super.setSessionFactory(sessionFactroy); } // public BaseDao() { // } // public BaseDao(Class objectClass) { // init(objectClass); // } // public BaseDao(Class objectClass, String alias) { // init(objectClass, alias); // } public void init(Class objectClass) { this.objectClass = objectClass; this.className = objectClass.toString(); this.className = className.substring(className.lastIndexOf(".") + 1); this.alias = className.toLowerCase(); } public void init(Class objectClass, String alias) { this.alias = alias; this.objectClass = objectClass; this.className = objectClass.toString(); this.className = className.substring(className.lastIndexOf(".") + 1); } public void setAlias(String alias) { this.alias = alias; } /** * * @Description: 添加 * @param @param object * @param @return * @return boolean * @throws * @author xxx * @date 2016-1-8 */ public boolean save(Object object) { System.out.println(this.className+";"+this.className); log.debug("saving "+this.className+" instance"); boolean bool=false; Session session = this.getHibernateTemplate().getSessionFactory().getCurrentSession(); Transaction tc = (Transaction) session.beginTransaction(); if (true) { tc.rollback(); return false; } try { session.save(object); log.debug("save successful"); tc.commit(); bool=true; } catch (Exception e) { tc.rollback(); log.error("save failed", e); System.out.println(e.getMessage()); }finally{ return bool; } }
@Service public class BaseService<E> { @Resource private BaseDao basedao; // public BaseService() { // super(); // } // public BaseService(Class<E> _class) { // basedao = new BaseDao(_class); // } public void zhuru(Class<E> _class){ basedao.init(_class); } public String save(E e){ String message=""; boolean bool=basedao.save(e); if (bool) { message="true"; }else { message="false"; } return message; } }
action调用 action引用implements Preparable,在每次调用方法前调用为basedao一些属性赋值 @Override public void prepare() throws Exception { baseService.zhuru(xxx.class); } @Autowired private BaseService<TPosition> baseService; String result=baseService.save(project);
简单记录下,也是刚摸索弄得,有什么问题,多多指教啊