Springboot3 整合 Mybatis
一、导入依赖
mybatis 的必要依赖
注意:使用 springboot3 的话要使用 mybatis3 的版本以及 java17及以上的版本
<!-- mybaitis 依赖-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
<!--mysql链接依赖-->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
</dependency>
二、编写配置文件
server:
port: 8081
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/user?serverTimezone=GMT%2B8&characterEncoding=utf-8&useSSL=false
username: root
password: 200718
mybatis:
# mapper映射文件包扫描 (这里是对应 resources 的文件路径)
mapper-locations: classpath:/mappers/*.xml
# 实体类别名包扫描
type-aliases-package: com.yun.pojo
三、定义模型 entity 实体类
@AllArgsConstructor
@NoArgsConstructor
@Data
public class User {
private int id;
private String username;
private String password;
}
四、在启动类上添加注解,表示mapper接口所在位置
注意: 如果接口上面有 注解 @Mapper 的话,就可以不用在使用扫描包注解 @MapperScan 了(当然两个可以同时存在)
@SpringBootApplication
@MapperScan("com.example.mybaitis_01.mapper") // 扫描的mapper
public class Mybaitis01Application {
public static void main(String[] args) {
SpringApplication.run(Mybaitis01Application.class, args);
}
}
五、定义mapper接口
注意: 最好要加上 @Mapper注解,防止忘记开启扫描
@Mapper
public interface TestMapper {
List<String> selectNameAll();
}
六、定义mapper.xml映射文件
注意:头文件这里的网站链接是没有 www 的,且能识别到 文件时,里面的 SQL 是有颜色的,否则就是白色
<?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.yun.mappers.TestMapper">
<select id="selectNameAll" resultType="com.yun.pojo.User">
select * from tb_user
</select>
</mapper>
七、service层
注意: 接口和实现类最好把 @Service 加上,否则会出现找不到 bean 的问题
1、接口:
@Service
public interface TestService {
List<String> selectNameAll();
}
2、实现类:文章来源:https://www.toymoban.com/news/detail-823373.html
@Service
public class TestServiceImpl implements TestService {
@Autowired
private TestMapper testMapper;
@Override
public List<String> selectNameAll() {
return testMapper.selectNameAll();
}
}
八、测试
这里测试是调用Service层的,也可以调用Mapper层来实现 查询文章来源地址https://www.toymoban.com/news/detail-823373.html
@SpringBootTest
class Demo1ApplicationTests {
@Autowired
private TestService testService;
@Test
void contextLoads() {
System.out.println(testService.selectNameAll());
}
}
到了这里,关于Springboot3 整合 Mybatis3的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!