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

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



  • 相关阅读:
    Lambda表达式、依赖倒置
    ASP.NET vNext 概述
    Uname
    RHEL4 i386下安装rdesktop【原创】
    Taxonomy of class loader problems encountered when using Jakarta Commons Logging(转)
    How to decompile class file in Java and Eclipse
    先有的资源,能看的速度看,不能看的,抽时间看。说不定那天就真的打不开了(转)
    Google App Engine 学习和实践
    【VBA研究】VBA通过HTTP协议实现邮件轨迹跟踪查询
    js正則表達式语法
  • 原文地址:https://www.cnblogs.com/liangbo-/p/5112192.html
Copyright © 2011-2022 走看看