SpringBoot整合MyBatis
SpringBoot整合MyBatis
实现步骤
- ① 搭建SpringBoot工程
- ② 引入MyBatis起步依赖,添加MySQL驱动
- ③ 编写DataSource和MyBatis相关配置
- ④ 定义表和实体类
- ⑤ 编写dao和mapper文件/纯注解开发
- ⑥ 测试
① 搭建SpringBoot工程
② 引入MyBatis起步依赖,添加MySQL驱动
SQL -> MyBatis Framework
SQL -> MySQL
③ 编写DataSource和MyBatis相关配置
# datasource
spring:
datasource:
url: jdbc:mysql:///test
username: root
password: root
driver-class-name: com.mysql.jdbc.Driver
# 使用纯注解开发时可以不配置mybatis
mybatis:
mapper-locations: classpath:mapper/*Mapper.xml # mapper的映射文件路径
type-aliases-package: com.cmy.springbootmybatis.domain
# config-location: # 指定mybatis的核心配置文件
使用纯注解开发时可以不配置mybatis
④ 定义表和实体类
-
定义表
CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(255) DEFAULT NULL, `age` int(11) DEFAULT NULL, PRIMARY KEY (`id`) );
-
创建实体类
package com.cmy.springbootmybatis.domain; /** * 用户实体类 * @author 陈明勇 */ public class User { private int id; private String username; private int age; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "User{" + "id=" + id + ", username='" + username + '\'' + ", age=" + age + '}'; } }
⑤ 编写dao和mapper文件/纯注解开发
-
纯注解开发
-
创建UserMapper
package com.cmy.springbootmybatis.mapper; import com.cmy.springbootmybatis.domain.User; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Select; import java.util.List; /** * @author 陈明勇 */ @Mapper public interface UserMapper { /** * 查询所有用户信息 */ @Select("select * from user") public List<User> findAll(); }
-
-
mapper文件开发
-
创建UserMapper.xml文件
<?xml version="1.0" encoding="UTF-8" ?> <!--MyBitis的DTD约束,定义xml标签约束,使开发者按照定义书写--> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.cmy.springbootmybatis.mapper.UserXmlMapper"> <select id="findAll" resultType="user"> select * from user; </select> </mapper>
-
⑥ 测试
package com.cmy.springbootmybatis;
import com.cmy.springbootmybatis.domain.User;
import com.cmy.springbootmybatis.mapper.UserMapper;
import com.cmy.springbootmybatis.mapper.UserXmlMapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.List;
@SpringBootTest
class SpringbootMybatisApplicationTests {
@Autowired
private UserMapper userMapper;
@Autowired
private UserXmlMapper userXmlMapper;
@Test
public void testFindAll() {
List<User> userList = userMapper.findAll();
System.out.println(userList);
}
@Test
public void testFindAll2() {
List<User> userList = userXmlMapper.findAll();
System.out.println(userList);
}
}