文章目录
1.properties加载属性文件
1)在resources下创建名为jdbc.properties的属性文件,在文件中配置数据库连接信息
jdbc.driver=com.mysql.jdbc.Driver
#jdbc.driver=com.mysql.cj.jdbc.Driver MySQL 8.x版本
jdbc.url=jdbc:mysql://localhost:3306/mybatisDemo?characterEncoding=UTF-8
jdbc.username=root
jdbc.password=628050
2)在主配置文件mybatis-moviesType.xml文的configuration下方、environments上方配置资源
<properties resource="jdbc.properties" />
3)在主配置文件mybatis-moviesType.xml中使用变量的形式使用属性文件中定义的属性
<environments default="development"> <!--配置环境-->
<environment id="development"> <!--环境变量-->
<transactionManager type="JDBC"/> <!--事务管理器-->
<dataSource type="POOLED"> <!--数据源-->
<!--静态配置-->
<property name="driver" value="${jdbc.driver}"/> <!--属性-->
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
2.typeAliases
在主配置文件mybatis-moviesType.xml中,用typeAliases中用包定义别名,包下面的类在映射(Mapper)文件MoviesTypeMapper.xml中省略包名,只用类名即可
<!--mybatis-moviesType.xml-->
<typeAliases >
<package name="com.cwx.mybatisDemo.entity"/>
</typeAliases>
<!--MoviesTypeMapper.xml mapper映射文件-->
<mapper namespace="com.cwx.mybatisDemo.dao.MoviesTypeDao">
<select id="queryMoviesType" resultType="MoviesType">
SELECT * FROM lei_xing;
</select>
</mapper>
3.settings
配置MyBatis全局配置项。一般需要谨慎设置,没有特殊需要,使用默认值。
4.编写公共类获得SqlSessionFactory (将MyBatis访问步骤的前三步 做封装重用)
public class MyBatisUtil {
private static SqlSessionFactory sqlSessionFactory;//静态变量 sqlSessionFactory
static {//静态代码块,类加载时被执行
try {
//1.创建SqlSessionFactoryBuilder 建造者
SqlSessionFactoryBuilder sfb = new SqlSessionFactoryBuilder();
//2.解析主配置文件 获得reader
Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
//3.创建SqlSessionFactory工厂
sqlSessionFactory = sfb.build(reader);//注意这里没有声明,是为静态变量赋值
} catch (IOException e) {
e.printStackTrace();
}
}
//静态工具方法 返回 SqlSessionFactory
public static SqlSessionFactory getSqlSessionFactory(){
return sqlSessionFactory;
}
}