白白白

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

参考:http://abc08010051.iteye.com/blog/1965526

callback模式 在spring-hibernate中的应用

public interface HibernateCallback<T> {

    public T doInHibernate(SqlSession session);
}

 

 

public class HibernateTemplate {
	
	public <T> T doExcute(HibernateCallback<T> callback) {
		//获取数据库session
		SqlSession session = new SqlSession();
		//开启事务
		
		T result = callback.doInHibernate(session);
		
		//关闭事务
		return result;
		
	}
}

 

public class Main {
    public static void main(String[] args) {
        
        
        Object result = new HibernateTemplate().doExcute(new HibernateCallback<Object>() {

            @Override
            public Object doInHibernate(SqlSession session) {
                // TODO Auto-generated method stub
                return null;
            }
            
        });
        
        System.out.println(result);
    }
}

由此可见,在此处使用回调模式,公共部分的操作都放在了hibernateTemplate的doExcute方法里,具体的实现让程序员来实现HibernateCallback回调接口,从而实现具体的逻辑,本人感觉这是CallBack模式的一大优点

posted on 2017-05-05 16:21  道至简  阅读(122)  评论(0)    收藏  举报