文章目录
- 创建Maven项目
- 第一步: 导包在pom.xml
- 第二步: 配置MyBatis的主配置文件(`mybatis-config.xml`)
- 第三步: 创建一个Java接口Mapper接口文件 (注意路径)
- 第四步: 创建一个与Java接口文件对应的Mapper.xml配置文件
- 第五步: 把mapper.xml配置文件引入到主配置文件中(`mybatis-config.xml`)
- 第六步: 加载主配置文件(`mybatis-config.xml`)
- 第七步: 在对应的Mapper文件和对应的Java接口中, 声明SQL和声明方法
- 第八步: 获取SqlSession 和 代理的Mapper对象
- 第九步: 通过代理对象调用方法执行SQL语句
创建Maven项目
这个默认会,可以看看b站教程
下面是完整mybatis
第一步: 导包在pom.xml
<dependencies>
<!--mybatis-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.9</version>
</dependency>
<!-- 数据库驱动包 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
<!-- 测试包 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
第二步: 配置MyBatis的主配置文件(mybatis-config.xml
)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 环境的配置,其实就是去配置数据库连接-->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/db47?useSSL=false&characterEncoding=utf8"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<!-- 去查找的Mapper文件 -->
<mappers>
<mapper resource="com/snow/www/mapper/AccountMapper.xml"/>
</mappers>
</configuration>
第三步: 创建一个Java接口Mapper接口文件 (注意路径)
第四步: 创建一个与Java接口文件对应的Mapper.xml配置文件
// 在第三/四步骤中:
1, 注意路径保持, 最终经过编译和对应接口文件编译到同一包下
2, 文件的名字和接口的文件的名字保持一致
3, xml中的namespace(命名空间)的值要和Java接口的全限定名称保持一致
第五步: 把mapper.xml配置文件引入到主配置文件中(mybatis-config.xml
)
<!-- 去查找的Mapper文件 -->
<mappers>
<mapper resource="com/snow/www/mapper/AccountMapper.xml"/>
</mappers>
第六步: 加载主配置文件(mybatis-config.xml
)
// 1. 读取配置文件
InputStream inputStream = null;
try {
inputStream = Resources.getResourceAsStream("mybatis-config.xml");
} catch (IOException e) {
e.printStackTrace();
}
// 2. 获取SqlSessionFactory
SqlSessionFactoryBuilder sqlSessionFactoryBuilder =
new SqlSessionFactoryBuilder();
sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream);
第七步: 在对应的Mapper文件和对应的Java接口中, 声明SQL和声明方法
// 注意:
1, 方法名和对应xml的SQL的id保持一致
2, 参数和返回值设置正确
3, 注意SQL返回值类型parameterType(结果集的解析是Mybatis自动完成的,不用我们自己解析)
4, 注意SQL语句书写正确
// 添加
public int insertAccount(Account account);
// 查找
public Account selectAccountById(Integer id);
<insert id="insertAccount" >
insert into account set id=#{id}, name=#{name}, money=#{money}
</insert>
<select id="selectAccountById" parameterType="java.lang.Integer" resultType="com.snow.www.bean.Account">
select * from account where id = #{id}
</select>
第八步: 获取SqlSession 和 代理的Mapper对象
// 1. 获取SqlSession
sqlSession = sqlSessionFactory.openSession(true);
// 2. 获取接口的代理对象
studentMapper = sqlSession.getMapper(AccountMapper.class);
第九步: 通过代理对象调用方法执行SQL语句
Account account = new Account();
account.setId(10);
account.setName("snow");
account.setMoney(200);
int rows = accountMapper.insertAccount(account);