程序员

4.平凡之路-封装帮助类和加载属性文件

2017-08-25  本文已影响0人  胖先森

MyBatisUtils.java 文件

/**
 * 知识点:
 * final 修饰类 : 不能被基础
 * 修饰方法 : 不能被重写
 * 修改变量 : 常量
 */
public final class MyBatisUtils {

    private MyBatisUtils(){}//不允许进行实例化

    private static final String PATH = "mybatis-config.xml";
    private static InputStream is ;
    private static SqlSessionFactory sqlSessionFactory;

    static{//1.静态代码块  只是加载一次
        try {
            is = Resources.getResourceAsStream(PATH);

            sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);
        } catch (IOException ex) {
            ex.printStackTrace();
            throw new RuntimeException("加载核心配置文件失败");
        }
    }

    public static SqlSession getSqlSession(){
        return sqlSessionFactory.openSession();
    }

    public static void closeSqlSession(SqlSession sqlSession){
        if(sqlSession!=null){
            sqlSession.close();
        }
    }
}

图解说明

帮助类说明

加载属性文件

新建src的根目录下jdbc.properties

jdbc.mysql.driver=com.mysql.jdbc.Driver
jdbc.mysql.url=jdbc:mysql://127.0.0.1:3306/cy42_mss
jdbc.mysql.username=root
jdbc.mysql.password=shxt

修改核心配置文件

<configuration>
    <!-- 加载属性文件 -->
    <properties resource="jdbc.properties"/>
    <!-- 配置数据库的环境 -->
    <environments default="development">
        <environment id="development">
            <!-- 事务管理器:保证数据的完整性和一致性 -->
            <!-- 框架:默认情况下CUD操作需要手动提交事务 -->
            <transactionManager type="JDBC" />
            <!-- 使用的是连接池:百度Java如何实行连接池的原理? -->
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.mysql.driver}" />
                <property name="url" value="${jdbc.mysql.url}" />
                <property name="username" value="${jdbc.mysql.username}" />
                <property name="password" value="${jdbc.mysql.password}" />
            </dataSource>
        </environment>
    </environments>
    
    <!-- 加载映射文件 -->
    <mappers>
        <mapper resource="com/shxt/model/SkillMapper.xml"/>
    </mappers>
</configuration>

通过${KEY}获取对应的值

图解说明
上一篇下一篇

猜你喜欢

热点阅读