MybatisPlus学习笔记

多看官方文档


开源仓库:https://gitee.com/baomidou/mybatis-plus-samples/tree/master
代码 在 test目录下 sql文件在resource目录下

mybatis-plus-sample-generator: 代码生成器示例
mybatis-plus-sample-crud: 完整 CRUD 示例
mybatis-plus-sample-wrapper: 条件构造器示例
mybatis-plus-sample-pagination: 分页功能示例


来源:https://blog.csdn.net/qq_34508530/article/details/88945034
简化CURD
在这里插入图片描述
相比两种写法,我更喜欢ActiveRecord的模式写法,因为我不用注入userMapper,new了一个对象之后直接调用方法操作就行了,复杂的查询也很简单,新建一个EntityWrapper作为查询对象,Wrapper接口封装了很多常用的方法。几乎sql能写出来的条件调用Wrapper的方法就能表现出来。


插入返回主键id值
new User();
insert(user)
int id=user.getId()


service继承了ServiceImpl,自己看源码,许多简单的业务可以直接在controller层调用service接口实现类操作,例如:remove,get,update,list等函数(没有 insert)

BaseMapper的源码:

public interface BaseMapper<T> extends Mapper<T> {
    int insert(T entity);
    int deleteById(Serializable id);
    int deleteByMap(@Param(Constants.COLUMN_MAP) Map<String, Object> columnMap);
    int delete(@Param(Constants.WRAPPER) Wrapper<T> wrapper);
    int deleteBatchIds(@Param(Constants.COLLECTION) Collection<? extends Serializable> idList);
    int updateById(@Param(Constants.ENTITY) T entity);
    int update(@Param(Constants.ENTITY) T entity, @Param(Constants.WRAPPER) Wrapper<T> updateWrapper);
    T selectById(Serializable id);
    List<T> selectBatchIds(@Param(Constants.COLLECTION) Collection<? extends Serializable> idList);
    List<T> selectByMap(@Param(Constants.COLUMN_MAP) Map<String, Object> columnMap);
    T selectOne(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
    Integer selectCount(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
    List<T> selectList(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
    List<Map<String, Object>> selectMaps(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
    List<Object> selectObjs(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
    <E extends IPage<T>> E selectPage(E page, @Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
    <E extends IPage<Map<String, Object>>> E selectMapsPage(E page, @Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
}

链式查询


@Test
void contextLoads() {
    QueryWrapper<Employee> wrapper = new QueryWrapper<Employee>()
        .like("last_name", "b")
        .eq("age", 30)
        .eq("gender", 1);
    employeeMapper.delete(wrapper);
}

自定义分页查询

【参考:Mybatis-plus 自定义分页查询_enjoy嚣士的博客-CSDN博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值