1.依赖
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.42</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.13</version>
</dependency>
2.配置Mybatis核心文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 1.读取数据源配置(配置文件必须是properties) -->
<properties resource="db.properties"/>
<!-- 2.数据源配置 -->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<!-- 数据库连接相关配置 ,db.properties文件中的内容-->
<dataSource type="POOLED">
<property name="driver" value="${mysql.driver}"/>
<property name="url" value="${mysql.url}"/>
<property name="username" value="${mysql.username}"/>
<property name="password" value="${mysql.password}"/>
</dataSource>
</environment>
</environments>
<!-- 3.读取sql语句映射配置文件 -->
<mappers>
<mapper resource="mapper/UserMapper.xml"/>
</mappers>
</configuration>
Mybatis核心配置文件所需要的其他配置文件
数据源配置文件
mysql.driver=com.mysql.cj.jdbc.Driver
mysql.url=jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false
mysql.username=root
mysql.password=123456
sql语句映射文件
建议放置位置: src/main/resources/mapper 下
建议命名规则: XXXMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="全限定名">
</mapper>
3.应用程序使用
//1.读取Mybatis-config.xml 配置文件
InputStream resourceAsStream = Resources.getResourceAsStream("mybatis-config.xml");
//2.将配置文件交给SqlSessionFactory
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
//3.通过SqlSessionFactory打开会话
SqlSession sqlSession = sqlSessionFactory.openSession();
//4.通过会话对象获取sql映射接口
TestMapper mapper = sqlSession.getMapper(TestMapper.class);
mapper.delete();
//5.提交事务
sqlSession.commit();
//6.关闭会话
sqlSession.close();
4.企业级使用规范
使用上面的mybatis操作有一些弊端:
每次创建Mapper.xml映射文件,都需要在mybatis核心配置文件增加对应xml文件
的扫描配置(<mapper resource="mapper/UserMapper.xml"/>)
企业级开发时,通常使用<package name="包"/>直接引入某包下所有接口的映射文件
如需使用快捷引入一个包,需要以下的步骤:
在mybatis-config.xml 中使用包名引用
<package name="映射接口所在包"/> 此配置可以将包下所有接口引入
保证接口及其映射xml文件结构一致
1.包名结构一致【注意resources下创建嵌套文件夹必须一个一个创建,不能一次性创建,否则会被视为一个文件夹】
2.文件名称一致
3.xml映射文件指定对应接口的namespace
应用程序使用
//1.读取Mybatis-config.xml 配置文件
InputStream resourceAsStream = Resources.getResourceAsStream("mybatis-config.xml");
//2.将配置文件交给SqlSessionFactory
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
//3.通过SqlSessionFactory打开会话
SqlSession sqlSession = sqlSessionFactory.openSession();
//4.通过会话对象获取sql映射接口
TestMapper mapper = sqlSession.getMapper(TestMapper.class);
mapper.delete();
//5.提交事务
sqlSession.commit();
//6.关闭会话
sqlSession.close();