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

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



原文地址:https://www.cnblogs.com/liangbo-/p/5112192.html