mybatis-plus注解个常用方法

 

简单配置说明

MyBatis-Plus 的配置异常的简单

  • SpringBoot工程:
  • 配置MapperScan注解
package com.example.mybatispluseasydemo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;


@SpringBootApplication
@MapperScan("com.example.mybatispluseasydemo")
public class MybatisPlusEasydemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(MybatisPlusEasydemoApplication.class, args);
    }
  • SpringMVC工程:
  • 配置MapperScan
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <property name="basePackage" value="com.example.mybatispluseasydemo"/>
</bean>

   SpringBoot通过注解的形式来配置MapperScan,比较简洁方便。

常用注解

@TableName:对数据表名注解

@TableId:表主键标识

@TableId(value = "id", type = IdType.AUTO):自增

@TableId(value = "id", type = IdType.ID_WORKER_STR):分布式全局唯一ID字符串类型

@TableId(value = "id", type = IdType.INPUT):自行输入

@TableId(value = "id", type = IdType.ID_WORKER):分布式全局唯一ID 长整型类型

@TableId(value = "id", type = IdType.UUID):32位UUID字符串

@TableId(value = "id", type = IdType.NONE):无状态

@TableField:表字段标识

@TableField(exist = false):表示该属性不为数据库表字段,但又是必须使用的。

@TableField(exist = true):表示该属性为数据库表字段。

@TableField(condition = SqlCondition.LIKE):表示该属性可以模糊搜索。

@TableField(fill = FieldFill.INSERT):注解填充字段 ,生成器策略部分也可以配置!

@FieldStrategy:

@FieldFill

@Version:乐观锁注解、标记

@EnumValue:通枚举类注解

@TableLogic:表字段逻辑处理注解(逻辑删除)

@SqlParser:租户注解

@KeySequence:序列主键策略 

 

CRUD

1. 通过CRUD封装了BaseMapper的接口,为 Mybatis-Plus 启动时自动解析实体表关系映射转换为 Mybatis 内部对象注入容器,Mapper 继承该接口后,无需编写 mapper.xml 文件,即可获得CRUD功能。

2. 参数 Serializable 为任意类型主键 Mybatis-Plus 不推荐使用复合主键约定每一张表都有自己的唯一 id 主键。

3. 对象 Wrapper 为 条件构造器。

insert

/**
 * <p>
 * 插入一条记录
 * </p>
 *
 * @param entity 实体对象
 * @return int
 */
Integer insert(T entity);

deleteById

/**
 * <p>
 * 根据 ID 删除
 * </p>
 *
 * @param id 主键ID
 * @return int
 */
Integer deleteById(Serializable id);

deleteByMap

/**
     * <p>
     * 根据 columnMap 条件,删除记录
     * </p>
     *
     * @param columnMap 表字段 map 对象
     * @return int
     */
    Integer deleteByMap(@Param("cm") Map<String, Object> columnMap);

update

/**
 * <p>
 * 根据 whereEntity 条件,更新记录
 * </p>
 *
 * @param entity  实体对象
 * @param wrapper 实体对象封装操作类(可以为 null)
 * @return
 */
Integer update(@Param("et") T entity, @Param("ew") Wrapper<T> wrapper);  

updateById

/**
 * <p>
 * 根据 ID 修改
 * </p>
 *
 * @param entity 实体对象
 * @return int
 */
Integer updateById(@Param("et") T entity);

selectOne

 /**
     * <p>
     * 根据 entity 条件,查询一条记录
     * </p>
     *
     * @param entity 实体对象
     * @return T
     */
    T selectOne(@Param("ew") T entity);

selectById

 /**
     * <p>
     * 查询(根据ID 批量查询)
     * </p>
     *
     * @param idList 主键ID列表
     * @return List<T>
     */
    List<T> selectBatchIds(@Param("coll") Collection<? extends Serializable> idList);

saveOrUpdate

/**
 * <p>
 * TableId 注解存在更新记录,否插入一条记录
 * </p>
 *
 * @param entity 实体对象
 */
boolean saveOrUpdate(T entity);

listByIds

/**
 * <p>
 * 根据 ID 查询
 * </p>
 *
 * @param id 主键ID
 */
T getById(Serializable id);

listByIds

/**
 * <p>
 * 查询(根据ID 批量查询)
 * </p>
 *
 * @param idList 主键ID列表
 */
Collection<T> listByIds(Collection<? extends Serializable> idList);

listByMap

/**
 * <p>
 * 查询(根据 columnMap 条件)
 * </p>
 *
 * @param columnMap 表字段 map 对象
 */
Collection<T> listByMap(Map<String, Object> columnMap);

 

 

 

 

 

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值