mybatis_plus学习(各个注解)

配置文件

mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #输出sql日志
  mapper-locations: classpath:com/example/dao/*.xml #对应xml的路径
  global-config:
   db-config:
    id-type: auto #自增id
    field-strategy: not_empty
    #驼峰下划线转换
    column-underline: true
     #逻辑删除配置
    logic-delete-value: 0
    logic-not-delete-value: 1
    db-type: mysql
    refresh: false

实体类注解

1.@TableName

类型内容默认值
value实体对应的表名“”
schema“”
keepGlobalPrefix是否保持使用全局的 tablePrefix 的值false
resultMap实体映射结果集“”
autoResultMap是否自动构建 resultMap 并使用false
  • @TableId
类型内容默认值
value字段值(驼峰命名方式,该值可无)null
type主键IDIdType.NONE(该类型为未设置主键类型(将跟随全局))

type值为:

  • IdType.AUTO:数据库ID自增
  • IdType.NONE:该类型为未设置主键类型(将跟随全局)
  • IdType.INPUT:用户输入ID
  • IdType.ID_WORKER:全局唯一ID (idWorker)
  • IdType.UUID:全局唯一ID (UUID)
  • IdType.ID_WORKER_STR:字符串全局唯一ID (idWorker 的字符串表示)
  1. @TableField
类型内容默认值
value字段值(驼峰命名方式,该值可无 )null
exist是否为数据库表字段 默认 true 存在,false 不存在(sql中不添加此参数)true
condition字段 where 实体查询比较条件 默认 = 等值null
update字段 update set 部分注入, 该注解优于 el 注解使用null
insertStrategy字段验证策略之 insertFieldStrategy.DEFAULT
updateStrategy字段验证策略之 updateFieldStrategy.DEFAULT
whereStrategy字段验证策略之 whereFieldStrategy.DEFAULT
fill字段自动填充策略FieldStrategy.DEFAULT
select是否进行 select 查询true
keepGlobalFormat是否保持使用全局的 Format 的值false
jdbcTypeJDBC类型 (该默认值不代表会按照该值生效)JdbcType.UNDEFINED
typeHandler类型处理器 (该默认值不代表会按照该值生效)UnknownTypeHandler.class
numericScale指定小数点后保留的位数null
  1. @Version 乐观锁
    实体类和数据库需定义字段,会一步一步迭代,需注入bean
 @Bean
    public OptimisticLockerInterceptor optimisticLockerInterceptor(){
        return new OptimisticLockerInterceptor();
    }
  1. @EnumValue
    枚举类型,可使框架自动对应内容;
    例如:数据库中是1 ------》框架会自动对应 男
 One(1,"就绪"),
    Two(2,"等待"),
    Three(3,"小休"),
    Four(4,"通话中"),
    Five(5,"话后处理"),
    Six(6,"下班");
    StudentEnums(Integer code, String content) {
        this.code = code;
        this.content = content;
    }
    @EnumValue
    private Integer code;
    @JsonValue
    private String content;

    public Integer getCode() {
        return code;
    }

    public void setCode(Integer code) {
        this.code = code;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

注:需实现get,set方法以及用@JsonValue对应的映射(否则显示的One)
继承实现

public enum SexEnum implements IEnum<Integer> {
    One(1,"男"),
    women(2,"女"),
    none(3,"未添加");
    SexEnum(Integer code, String content) {
        this.code = code;
        this.content = content;
    }
    @EnumValue
    private Integer code;
    @JsonValue
    private String content;


    @Override
    public Integer getValue() {
        return this.code;
    }
}
  1. @TableLogic
    实现逻辑删除
    配置文件中需配置
     #逻辑删除配置
    #设置0为删除时的状态
    logic-delete-value: 0
    #设置1为未删除时的状态
    logic-not-delete-value: 1

要dome工程的,私信

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值