Springboot3 整合 Mybatis3

本文详细介绍了如何在Springboot3项目中整合Mybatis,包括导入必要的依赖,配置数据源,定义实体类,设置Mapper接口和XML映射文件,实现Service层以及进行测试。关键步骤包括添加依赖、编写配置、定义实体和Mapper接口,以及创建对应的XML文件。

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、实现类:

@Service
public class TestServiceImpl implements TestService {
    @Autowired
    private TestMapper testMapper;

    @Override
    public List<String> selectNameAll() {
        return testMapper.selectNameAll();
    }
}

八、测试

这里测试是调用Service层的,也可以调用Mapper层来实现 查询

@SpringBootTest
class Demo1ApplicationTests {
    @Autowired
    private TestService testService;

    @Test
    void contextLoads() {
        System.out.println(testService.selectNameAll());
    }
}
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值