1.导入依赖
<!--整合mybatis-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>3.0.3</version>
</dependency>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.33</version>
</dependency>
<!--数据库驱动-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
导入的依赖有:
- springboot整合mybatis的依赖
- mysql
- 数据库驱动
- lombok
2.配置数据源
#配置数据源
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.url=jdbc:mysql://localhost:3306/user?serverTimezone=UTC&userUnicode=true&characterEncoding=utf-8
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
- 有了springboot,所有的配置都在application.propeeties文件中编写
3.连接数据库
4.编写pojo层
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private int id;
private String name;
private int age;
}
5.编写mapper层
//这个注解表示了这是一个mybatis的mapper类
@Mapper
//这个注解表明将这个类注入到了spring中
@Repository
public interface UserMapper {
List<User> selectAllUser();
}
上面的两个注解:
@Mapper 属于mybatis中的注解,表明这个类是mybatis中的mapper接口 @Repository 属于spring中的注解,表明这个接口已经被注入到的springIOC容器中托管了
6.编写mapper映射文件
这个映射文件放在resource目录下
<?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="com.kuang.mapper.UserMapper">
<select id="selectAllUser" resultType="user">
select * from tb_user
</select>
</mapper>
7.mybatis配置
同样的,配置一类的东西,统一放在application.properties文件中
# 别名配置
mybatis.type-aliases-package=com.kuang.pojo
# 映射路径
mybatis.mapper-locations=classpath:mybatis/mapper/*.xml
上面的配置有:
- mybatis的别名配置
- mapper文件的映射路径
注意: 映射路径中的mybatis是一级目录,前面不需要加"/",否则会找不到配置文件
8.编写Controller层
没有添加Service层,想添加的小伙伴可以自行添加>_<
@RestController
public class TestController {
//将接口注入到spring中,然后就可以使用了
@Autowired
private UserMapper userMapper;
@RequestMapping("/select")
public List<User> selectAllUser(){
List<User> users = userMapper.selectAllUser();
for (User user : users) {
System.out.println(user);
}
return users;
}
}
上面的注解有:
@RestController 表明这个类被springIOC托管了,并且不走springMVC的视图解析器 @Autowired 将UserMapper接口,注入到springIOC中,这样就可以使用这个接口中的方法了 @RequestMapping 视图跳转
结果: