Mybatis创建SessionFactroy的完美方式

来源:互联网 发布:matlab r2017 mac 编辑:程序博客网 时间:2024/06/05 22:45

Mybatis创建SessionFactroy的完美方式

/**     * SqlSessionFactory的生命周期应为全局单例     */    public class SqlSessionFactoryUtil{        //SqlSessionFactory对象        private static SqlSessionFactory sqlSessionFactory = null;        //类线程锁        private static final Class CLASS_LOCK = SqlSessionFactoryUtil.class;        /*        * 私有化构造参数        */        private SqlSessionFactoryUtil(){     }        //构建SqlSessionFactory        public static SqlSessionFactory initSqlSessionFactory(){            String resouce = "MybatisConfig.xml";            InputStream inputStream = null;            try{                inputStream = Resources.getResourceAsStream(resouce);            }catch(IOException ex){                Logger.getLogger(sqlSessionFactoryUtil.class.getName()).log(Level.SEVERE,null,ex);                System.out.println(ex.getMessage());            }            synchronized(CLASS_LOCK){                if(sqlSessionFactory == null){                    sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);                 }            }            return sqlSessionFactory        }        //打开SqlSession        public static SqlSession getSqlSession(){            if(sqlSessionFactory == null){                initSqlSessionFactory();            }            return sqlSessionFactory.openSqlSession();        }    } 
原创粉丝点击