mybatis plus的简单使用

一、mybatis plus简介

MyBatis-Plus(简称 MP)是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变。MP封装了对单表的CRUD操作,代码生成、自动分页、逻辑删除、自动填充等功能一应俱全。

MP常用注解:

  • @TableName:指定数据库表
  • @TableId:将成员变量指定为数据表主键。其type值有AUTO(数据库 ID 自增)、NONE(默认给出id一个 Long 类型的字符串,type默认值)、INPUT(需要自己传入一个id值)、ASSIGN_ID(使用雪花算法分配id,支持Long、String、Integer三种类型)、ASSIGN_UUID(使用雪花算法分配id,只支持String类型)
  • @TableField:用于非主键属性,映射表字段与bean中的字段

二、mybatis plus的简单使用

1. MP配置

  • 引入MP坐标
<!--mybatis plus-->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.4.2</version>
</dependency>
  • 修改配置文件(properties和yml格式对应转换即可)
# 连接数据库
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://ip:port/databaseName?characterEncoding=UTF-8&useUnicode=true&useSSL=false
spring.datasource.username=username
spring.datasource.password=password
  • 创建mapper,继承BaseMapper,通过泛型指定MP封装的CRUD操作的表格
    在这里插入图片描述

  • 在启动类添加Mapper扫描注解

  • 在这里插入图片描述

  • MP分页配置(根据需要设置)

2. 单表操作

类似selectById()这样固定条件的方法直接调用即可,这里主要讲一下使用MP条件构造器Wrapper自定义条件。

条件构造器的作用是编辑sql where之后的条件语句,且只能用于单表操作,Wapper层级关系如下:
在这里插入图片描述
条件构造器构造方法如下:
在这里插入图片描述
单表CRUD:
在这里插入图片描述
根据条件判断是否添加表达式:wrapper.lambda.like(condition:null != a, filed: key, val:val)

3. 连接查询

多表查询需要自定义sql,可以使用注解式操作,也可以创建xml文件。
在这里插入图片描述

  • 注解式:
    在这里插入图片描述
  • xml文件:
    idea模板设置可参照:https://www.jb51.net/article/199343.htm
<?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="">

<!--mybatis mapper 的xml模板-->

</mapper>

在这里插入图片描述
在这里插入图片描述
在pom文件的标签中设置扫描xml文件的路径

<!--配置扫描xml文件-->
<resources>
    <resource>
        <directory>src/main/resources</directory>
        <includes>
            <include>**/*.properties</include>
            <include>**/*.xml</include>
        </includes>
    </resource>
    <resource>
        <directory>src/main/java</directory>
        <includes>
            <include>**/*.properties</include>
            <include>**/*.xml</include>
        </includes>
    </resource>
</resources>

连接查询的两种相关设置到此就可以通过方法调用操作数据库了。

4. 级联查询

在这里插入图片描述

5. 分页查询

@Configuration
public class MyBatisConfiguration {
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
        return interceptor;
    }
}

Page<CatPersonalTask> page = new Page<>(页数, 每页大小);
page = page(page, wrapper);
// page.getRecords();
// page.getTotal();

在这里插入图片描述

  • 8
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Mybatis Plus 是 Mybatis 的一个增强工具包,提供了许多实用的功能,例如自动分页、自动填充、逻辑删除、多租户等。下面简单介绍一下使用 Mybatis Plus 的步骤: 1. 引入 Mybatis Plus 的依赖: ```xml <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.3.1</version> </dependency> ``` 2. 配置数据源,可以使用 Mybatis Plus 提供的 `MybatisPlusInterceptor` 实现自动分页: ```java @Configuration @MapperScan("com.example.mapper") public class MybatisPlusConfig { @Autowired private DataSource dataSource; @Bean public SqlSessionFactory sqlSessionFactory() throws Exception { MybatisSqlSessionFactoryBean sqlSessionFactory = new MybatisSqlSessionFactoryBean(); sqlSessionFactory.setDataSource(dataSource); // 添加分页插件 MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); sqlSessionFactory.setPlugins(interceptor); return sqlSessionFactory.getObject(); } } ``` 3. 创建实体类和对应的 Mapper 接口: ```java @Data @AllArgsConstructor @NoArgsConstructor @TableName("user") public class User { @TableId(type = IdType.AUTO) private Long id; private String name; private Integer age; } public interface UserMapper extends BaseMapper<User> { } ``` 4. 使用 Mybatis Plus 提供的通用方法进行 CRUD 操作: ```java @Service public class UserService { @Autowired private UserMapper userMapper; public List<User> list() { return userMapper.selectList(null); } public User getById(Long id) { return userMapper.selectById(id); } public boolean save(User user) { return userMapper.insert(user) > 0; } public boolean updateById(User user) { return userMapper.updateById(user) > 0; } public boolean removeById(Long id) { return userMapper.deleteById(id) > 0; } } ``` 以上就是使用 Mybatis Plus 的简单步骤,更多详细的使用方法可以参考官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值