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}
获取对应的值