SpringBoot集成MybatisPlus及分析

本文介绍了如何在SpringBoot项目中集成MybatisPlus,包括引入依赖、配置连接池、编写Mapper并使用注解扫描、依赖注入以及使用IService和BaseMapper的区别。BaseMapper提供基本的CRUD操作,而IService则在BaseMapper的基础上提供了更多的功能增强,如批量操作等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1引入pom依赖

    <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-web</artifactId>
      </dependency>
      <!-- 模板引擎 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
    <!-- 热部署、测试 -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-devtools</artifactId>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>
    <!-- 驱动、连接池 -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>${mysql-connector-java.version}</version>
    </dependency>
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>druid-spring-boot-starter</artifactId>
      <version>${alibaba.druid}</version>
    </dependency>

    <!-- MP -->
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>com.baomidou</groupId>
      <artifactId>mybatis-plus-boot-starter</artifactId>
      <version>3.1.1</version>
    </dependency>

2 配置连接池

spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://192.168.20.40:3306/ca_ct_business?useUnicode=true&characterEncoding=utf8&useSSL=false
    username: root
    password: 123456

3编写Mapper(继承BaseMapper即可获得基础CRUD操作)

public interface BusinessMapper extends BaseMapper<BusinessEntity> {
}

4使用注解进行Mapper扫描

@MapperScan("com.ca.ct.console.mapper")

5依赖注入使用即可

@RunWith(SpringRunner.class)
@SpringBootTest(classes = Application.class)
public class BaseTest {

    @Autowired
    private BusinessMapper busiMapper;

    @Test
    public void testBusiMapper() {
        System.out.println(busiMapper.selectById(1));
    }
}

6可使用MP中的扩展类ServiceImpl(ServiceImpl中具体还是使用的BaseMapper)

@Service
public class BusinessService extends ServiceImpl<BusinessMapper, BusinessEntity> {
}

    @Autowired
    private BusinessService busiService;

    @Test
    public void testBusiMapper() {
        BusinessEntity oneById = busiService.getOne(new QueryWrapper<BusinessEntity>().eq("ID", 1));
        System.out.println(oneById);
    }

7扩展类IService和BaseMapper区别
①BaseMapper是通用CRUD的简单封装,为Mybatis-Plus在启动时自动解析实体表关系映射转换为Mybatis内部对象注入容器。其功能有限,诸如批量新增等查用接口需自己再封装。

②扩展类IService是BaseMapper的增强,提供了诸如BaseMapper没有的批插入、保存或新增、批量更新等,且包含了大量Java1.8支持的默认实现。企业场景使用时,可在Mapper基础上封装Dao类,使Dao类继承IService的实现类ServiceImpl实现功能增强。这里IService中Service单词不等于项目中Service服务层单词中的Service。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值