Mybatis Plus常用的API

MyBatis Plus 是一个优秀的 MyBatis 增强工具,它简化了 MyBatis 的开发过程,提供了许多便利的 API 和查询构建器(Wrapper),下面对这些API进行简单总结:

Mapper层(即dao层)的BaseMapper

  1. 插入操作:int insert(T entity);插入一条记录,参数是实体对象。

  2. 根据 ID 查询:T selectById(Serializable id);根据主键 ID 查询一条记录。

  3. 根据 ID 更新:int updateById(T entity);根据主键 ID 更新一条记录,参数是实体对象。

  4. 根据 ID 删除:int deleteById(Serializable id);根据主键 ID 删除一条记录。

  5. 查询所有记录:List<T> selectList(@Param("ew") Wrapper<T> wrapper);可以传入条件构造器 Wrapper 对象进行条件查询。

  6. 查询记录数:Integer selectCount(@Param("ew") Wrapper<T> wrapper);

    查询符合条件的记录数,可以传入条件构造器 Wrapper 对象进行条件查询。

  7. 分页查询

    List<T> selectPage(RowBounds rowBounds, @Param("ew") Wrapper<T> wrapper)分页查询记录,RowBounds是 MyBatis 提供的分页参数对象,Wrapper是条件构造器。
  8. 条件查询:List<T> selectList(@Param("ew") Wrapper<T> wrapper);

  9. T  selectOne(@Param("ew") Wrapper<T> queryWrapper): 根据条件构造器查询一条记录。

service层的Iservice和ServiceImpl

1.插入
boolean save(T entity): 插入一条记录(选择字段,策略插入)。

default boolean saveBatch(Collection<T> entityList):根据集合批量插入。
boolean saveOrUpdate(T entity): 插入或更新一条记录(根据记录是否存在主键 id)。
default boolean saveOrUpdateBatch(Collection<T> entityList): 批量插入或更新记录。
boolean saveOrUpdateBatch(Collection<T> entityList,Wrapper<T> queryWrapper): 批量插入或更新记录(只更新有主键的)。
2.查询
default List<T> list():查询所有记录
default <E> List<E> listObjs(): 查询所有记录
default <E> List<E> listObjs(Wrapper<T> queryWrapper): 根据条件构造器查询。

3.更新
boolean updateById(T entity): 根据主键更新记录。
boolean update(@Param("ew") Wrapper<T> updateWrapper): 根据条件构造器更新记录。default boolean updateBatchById(Collection<T> entityList):根据id集合批量更新
4.删除
default boolean removeById(Serializable id):根据id删除
default boolean remove(Wrapper<T> queryWrapper):根据查询条件删除
default boolean removeByIds(Collection<?> list):根据id集合批量删除

Wrapper条件构造器

条件构造器包括查询和更新条件构造器还有lambda条件构造器,用法一致,只是更新在查询的基础上加上了“.set()”方法,详情可去MybatisPlus官网查看。常用的条件筛选方法有如下:

  1. eq(fieldName, value):

    • 等于条件,例如 eq("age", 30),表示字段 age 等于 30
  2. ne(fieldName, value):

    • 不等于条件,例如 ne("status", "inactive"),表示字段 status 不等于 "inactive"
  3. gt(fieldName, value)ge(fieldName, value):

    • 大于条件和大于等于条件,例如 gt("salary", 50000) 表示 salary 大于 50000
  4. lt(fieldName, value)le(fieldName, value):

    • 小于条件和小于等于条件,例如 lt("birthDate", LocalDate.now()) 表示 birthDate 小于当前日期。
  5. like(fieldName, value):

    • 模糊查询条件,例如 like("name", "John%"),表示 name 字段以 "John" 开头的记录。
  6. between(fieldName, value1, value2):

    • 范围查询条件,例如 between("salary", 30000, 60000),表示 salary 在 30000 和 60000 之间。
  7. isNull(fieldName)isNotNull(fieldName):

    • 空值和非空值条件,例如 isNull("email"),表示 email 字段为空值。
  8. in(fieldName, List<value>)notIn(fieldName, List<value>):

    • 包含和不包含条件,例如 in("department", Arrays.asList("IT", "HR")),表示 department 在指定的部门列表中。
  9. orderBy(fieldName, isAsc):

    • 排序条件,例如 orderBy("age", true) 表示按照 age 字段升序排列。
  10. groupBy(fieldName):

    • 分组条件,例如 groupBy("department"),表示按照 department 字段分组。
  11. and()or():

    • 逻辑与和逻辑或条件,用于组合多个条件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值