当前位置: 首页 > news >正文

惠州网站建设 鑫产品推广活动策划方案

惠州网站建设 鑫,产品推广活动策划方案,北京工程建设交易中心网站,网站建网站建设企业电话精心整理了最新的面试资料和简历模板,有需要的可以自行获取 点击前往百度网盘获取 点击前往夸克网盘获取 MyBatis-Plus 注解大全 MyBatis-Plus 是基于 MyBatis 的增强工具,通过注解简化了单表 CRUD 操作和复杂查询的配置。以下是常用注解的分类及详细说…

精心整理了最新的面试资料和简历模板,有需要的可以自行获取

点击前往百度网盘获取
点击前往夸克网盘获取


MyBatis-Plus 注解大全

MyBatis-Plus 是基于 MyBatis 的增强工具,通过注解简化了单表 CRUD 操作和复杂查询的配置。以下是常用注解的分类及详细说明:


一、核心注解

1. @TableName

  • 作用:标识实体类对应的数据库表名(当类名与表名不一致时使用)。
  • 属性
    • value:数据库表名(默认空,使用类名驼峰转下划线形式)。
    • schema:数据库 schema(可选)。
  • 示例
    @TableName("sys_user")
    public class User {// ...
    }
    

2. @TableId

  • 作用:标识实体类的主键字段。
  • 属性
    • value:数据库主键字段名(默认空,使用字段名驼峰转下划线形式)。
    • type:主键生成策略(默认为 IdType.NONE),可选值:
      • AUTO:数据库自增。
      • NONE:无策略(手动输入)。
      • INPUT:用户输入。
      • ASSIGN_ID:雪花算法生成 Long 类型 ID。
      • ASSIGN_UUID:生成 UUID 字符串。
  • 示例
    public class User {@TableId(value = "id", type = IdType.ASSIGN_ID)private Long userId;
    }
    

3. @TableField

  • 作用:标识非主键字段与数据库列的映射关系。
  • 属性
    • value:数据库字段名(默认空,使用字段名驼峰转下划线形式)。
    • exist:是否为数据库表字段(默认 true,若为 false 表示不参与 SQL 操作)。
    • fill:字段自动填充策略(如插入或更新时自动填充值),可选值:
      • FieldFill.DEFAULT:不处理。
      • FieldFill.INSERT:插入时填充。
      • FieldFill.UPDATE:更新时填充。
      • FieldFill.INSERT_UPDATE:插入和更新时填充。
    • select:是否参与查询(默认 true)。
  • 示例
    public class User {@TableField(value = "create_time", fill = FieldFill.INSERT)private LocalDateTime createTime;@TableField(exist = false)private String remark; // 非数据库字段
    }
    

二、条件构造注解

4. @Param

  • 作用:在 Mapper 接口方法中定义参数别名,用于 XML 或注解中的 SQL 绑定(非 MyBatis-Plus 特有,但常用)。
  • 示例
    List<User> selectByName(@Param("name") String name);
    

三、结果映射注解

5. @TableLogic

  • 作用:标识逻辑删除字段(标记记录是否被删除)。
  • 属性
    • value:未删除时的值(默认 0)。
    • delval:删除后的值(默认 1)。
  • 示例
    @TableLogic(value = "0", delval = "1")
    private Integer isDeleted;
    

四、其他功能注解

6. @Version

  • 作用:标识乐观锁版本号字段(用于并发控制)。
  • 示例
    @Version
    private Integer version;
    

7. @EnumValue

  • 作用:标识枚举类中与数据库存储值对应的字段。
  • 示例
    public enum GenderEnum {MALE(1, "男"),FEMALE(2, "女");@EnumValueprivate final Integer code;private final String desc;
    }
    

8. @KeySequence

  • 作用:指定主键序列名称(适用于 Oracle、PostgreSQL 等数据库的序列主键)。
  • 属性
    • value:序列名。
    • clazz:主键类型(如 Long.class)。
  • 示例
    @KeySequence(value = "SEQ_USER", clazz = Long.class)
    public class User {// ...
    }
    

9. @InterceptorIgnore

  • 作用:忽略特定拦截器(如多租户插件、动态表名插件等)。
  • 属性
    • tenantLine:是否忽略多租户拦截(默认 "false")。
    • dynamicTableName:是否忽略动态表名拦截。
  • 示例
    @InterceptorIgnore(tenantLine = "true")
    List<User> selectAll();
    

五、自动填充配置

通过 @TableField(fill = FieldFill.xxx) 结合 MetaObjectHandler 实现字段自动填充:

  1. 定义处理器

    @Component
    public class MyMetaObjectHandler implements MetaObjectHandler {@Overridepublic void insertFill(MetaObject metaObject) {this.strictInsertFill(metaObject, "createTime", LocalDateTime.class, LocalDateTime.now());}@Overridepublic void updateFill(MetaObject metaObject) {this.strictUpdateFill(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now());}
    }
    
  2. 实体类字段注解

    public class User {@TableField(fill = FieldFill.INSERT)private LocalDateTime createTime;@TableField(fill = FieldFill.UPDATE)private LocalDateTime updateTime;
    }
    

六、常见问题

  1. 表名或字段名驼峰转下划线
    MyBatis-Plus 默认开启驼峰转下划线映射(如 userNameuser_name)。若需关闭,配置:

    mybatis-plus:configuration:map-underscore-to-camel-case: false
    
  2. 逻辑删除全局配置
    application.yml 中配置逻辑删除的默认值:

    mybatis-plus:global-config:db-config:logic-delete-field: isDeleted  # 逻辑删除字段名logic-delete-value: 1         # 删除后的值logic-not-delete-value: 0      # 未删除时的值
    

通过掌握以上注解,开发者可以高效利用 MyBatis-Plus 简化数据库操作。更多细节可参考 MyBatis-Plus 官方文档。

http://www.tj-hxxt.cn/news/110068.html

相关文章:

  • 深圳网站设计技术360开户推广
  • 专业做网站开发的公司seo优化专员编辑
  • 用代码怎么做网站百度公司销售卖什么的
  • 手机怎么建立自己网站百度推广平台登录入口
  • 利用织梦搭网站怎么在网上销售
  • 建设厅网站官网百度引流推广怎么做
  • wordpress外链内链北京seo顾问
  • 手机上怎么做链接福建seo顾问
  • 销售怎么做天津seo推广
  • 外贸英语 网站成都百度推广电话
  • 山西省网站建设哪里好中国广告公司前十强
  • 青岛品牌网站建设电商运营怎么自学
  • 17做网店一件代发南宁市优化网站公司
  • 京东网站建设的经费预算郑州网站策划
  • 珠宝类网站建设可执行报告百度灰色关键词排名技术
  • wordpress 文章列表 分页seo如何挖掘关键词
  • wordpress admin_menu优化网站排名解析推广
  • 重庆网站建设letide合肥百度推广排名优化
  • bitnami wordpress 安装seo工作流程图
  • 恩施做网站seo是怎么优化
  • 下载的软件乱码怎么解决seo白帽优化
  • 网站模块是指什么地方淄博网站营销与推广
  • 洛阳网站建设公司seo优化报价
  • 做外国网用哪些网站有品质的网站推广公司
  • 网站管理助手建站企业员工培训内容及计划
  • 线上咨询上门服务网站建设方案新闻危机公关
  • 岫岩做网站网站推广包括
  • 网站开发项目管理文档模板站长之家网站流量查询
  • 优秀室内设计案例分析seo外包公司多少钱
  • 广州网站建设外包seo营销培训咨询