IT干货网

MyBatis-Plus基础入门

daizhj 2022年09月17日 编程设计 32 0

1 快速入门

1、导包

<dependency> 
    <groupId>com.baomidou</groupId> 
    <artifactId>mybatis-plus-boot-starter</artifactId> 
    <version>3.4.2</version> 
</dependency> 

2、实体类

@Data 
@TableName("user") 
public class User {
    
    @TableId(value = "id",type = IdType.AUTO)  // 自增id 
    private int id; 
    private String username; 
    private String password; 
} 

3、mapper接口继承BaseMapper

public interface UserMapper extends BaseMapper<User> {
    
} 

4、mapper文件扫描

@SpringBootApplication 
@MapperScan("com.mapper")  // 扫描mapper文件 
public class MybatisPlusApplication {
    
    public static void main(String[] args) {
    
        SpringApplication.run(MybatisPlusApplication.class, args); 
    } 
} 
List<User> users = userMapper.selectList(null); 
users.forEach(System.out::println); 

UserMapper 中的 selectList() 方法的参数为 MP 内置的条件封装器 Wrapper,所以不填写就是无任何条件。

2 CRUD

1、增

int insert(T entity); 

实体类中,主键自增设置

// 数据库要开启自增 
@TableId(type = IdType.AUTO) 
private Long id; 

2、删

// 根据 ID 删除 
int deleteById(Serializable id); 
// 根据 columnMap 条件,删除记录 
int deleteByMap(@Param(Constants.COLUMN_MAP) Map<String, Object> columnMap); 

3、改

// 字段填充内容 
@TableField(fill = FieldFill.INSERT) 
private Data createTime; 
@TableField(fill = FieldFill.INSERT_UPDATE) 
private Data updateTime; 

4、查

// 多id查询 
List<User> users = userMapper.selectBatchIds(Arrays.asList(1,2,3)); 
// 条件查询 
Map<String,Object> map = new HashMap<>(); 
map.put("name","Jone"); 
List<User> users = userMapper.selectByMap(map); 

3 分页插件

@Configuration 
@MapperScan("com.mapper") 
public class MybatisPlusConfig {
    
    @Bean 
    public PaginationInterceptor paginationInterceptor() {
    
        PaginationInterceptor paginationInterceptor = new PaginationInterceptor(); 
        // 设置请求的页面大于最大页后操作, true调回到首页,false 继续请求  默认false 
        // paginationInterceptor.setOverflow(false); 
        // 设置最大单页限制数量,默认 500 条,-1 不受限制 
        // paginationInterceptor.setLimit(500); 
        // 开启 count 的 join 优化,只针对部分 left join 
        paginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true)); 
        return paginationInterceptor; 
    } 
} 
Page<User> page = new Page<>(1,5); 
Page<User> userPage = userMapper.selectPage(page, null); 
List<User> users = userPage.getRecords(); 

4 条件构造器

QueryWrapper<User> wrapper = new QueryWrapper<>(); 
wrapper.eq("name","Jack"); 
List<User> users = userMapper.selectList(wrapper); 

本文参考链接:https://blog.csdn.net/wyytjh/article/details/116496138
评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

SpringBoot Web简单配置