zoukankan      html  css  js  c++  java
  • ssh注解basedao简单的实现

    @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);
    
    

    简单记录下,也是刚摸索弄得,有什么问题,多多指教啊



  • 相关阅读:
    MongoDB数据类型
    Redis数据类型
    RHEL7 CentOS7 检查查看精简指令
    Linux命令:查看登录用户
    JavaScript错误之:Uncaught ReferenceError: $ is not defined
    Linux下因为系统编码问题造成乱码的解决办法
    Linux系统下的程序开发之:命名规范
    优化php代码
    Git工具:Widows下的使用(提交到Github)
    MongoDB
  • 原文地址:https://www.cnblogs.com/liangbo-/p/5112192.html
Copyright © 2011-2022 走看看