mybatis-plus的实体类里的字段,怎么映射的数据库具体字段的 #创作灵感#

2024-07-11 1054阅读

在 MyBatis-Plus 中,实体类(Entity)的字段与数据库表的具体字段之间的映射主要通过以下几种方式实现:

mybatis-plus的实体类里的字段,怎么映射的数据库具体字段的 #创作灵感#
(图片来源网络,侵删)
  1. 字段名匹配:

    MyBatis-Plus 默认采用字段名匹配的策略进行映射。即,如果实体类中的字段名与数据库表中的列名完全一致(不区分大小写,但在实际开发中建议保持一致以避免潜在问题),那么 MyBatis-Plus 会自动将查询结果集中的列值映射到实体类的对应字段上。

  2. @TableField 注解:

    当实体类中的字段名与数据库表中的列名不一致时,可以使用 @TableField 注解来指定映射关系。@TableField 注解中的 value 属性用于指定数据库表中的列名。

public class User {  
    private Long id;  
    // 假设数据库中的列名为 user_name 而不是 userName  
    @TableField("user_name")  
    private String userName;  
    // 其他字段...  
}

3.@TableId 注解:

对于主键字段,可以使用 @TableId 注解来指定。这个注解不仅用于标识主键字段,还可以配置主键的生成策略(如自增、UUID等)。虽然它主要用于主键字段,但它也间接参与了字段与列之间的映射,因为 @TableId 注解中的 value 属性(如果提供了)也可以用来指定数据库中的列名。但通常情况下,主键字段的列名与实体类中的字段名会保持一致,因此这个属性可能不是必需的。

4.全局配置:

MyBatis-Plus 允许通过全局配置来调整字段名与列名之间的映射规则,比如开启驼峰命名自动映射(map-underscore-to-camel-case)。当这个配置开启时,MyBatis-Plus 会自动将数据库中的下划线命名(如 user_name)转换为 Java 中的驼峰命名(如 userName),而无需在每个字段上都使用 @TableField 注解

application.yaml

mybatis-plus:  
  global-config:  
    db-config:  
      # 开启驼峰命名自动映射  
      id-type: auto  
      table-prefix: t_  
      # 其他配置...  
      map-underscore-to-camel-case: true
VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]