1.引入Mybatis 的相关依赖
<dependencies>
<!--引入mybatis的依赖-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.6</version>
</dependency>
<!--引入mysql的驱动包-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.22</version>
</dependency>
2.编写实体类 例如User
3.编写映射文件UserMapper接口
4.编写映射文件UserMapper.xml
5.编写Mybatis.xml核心配置文件
<?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>
<!--外部配置文件配置-->
<properties resource="db.properties"></properties>
<!--环境配置-->
<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>
<mappers>
//告诉mybatis.xml 映射文件在哪里
<mapper resource="mapper/UserMapper.xml"/>
</mappers>
</configuration>
6.创建db.properties文件
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/testuseUnicode=true&useSSL=false&characterEncoding=UTF8&serverTimezone=UTC
jdbc.username=root
jdbc.password=123456
总结:执行过程简单分析
1.解析了xml 配置文件 ---> configuration
2. 将映射文件信息 解析 mappedStatements map结构 每个 mapper文件中的指令 被封装为MappedStatement
3. SqlSession 根据传入 statement 的key 从mappedStatements 中获取到对应 MappedStatement
4. MappedStatement 中已经定义了好了参数类型 返回结果的类型 还有原生sql
5. 获取原生sql 参数类型 返回结果的类型 ,根据参数类型 原生sql 可以内部预处理 sql 将sql 发送给数据库
6. 接收sql 执行的结果 ,将其封装为对应的返回类型