• spring 通用mapper的一些注解


    1.1@Table 注解 注解
    作用:建立实体类和数据库表之间的对应关系。
    默认规则:实体类类名首字母小写作为表名。Employee 类→employee 表。

    用法:在@Table 注解的 name 属性中指定目标数据库表的表名

     


     

    1.2@Column 注解 注解
    作用:建立实体类字段和数据库表字段之间的对应关系。
    默认规则:
    实体类字段:驼峰式命名
    数据库表字段:使用“_”区分各个单词

    用法:在@Column 注解的 name 属性中指定目标字段的字段名  用来解决和数据库字段不对应的情况    @Column  (" 数据库实际字段名 ")

     


     

    1.3@Id 注解 注解
    通用 Mapper 在执行 xxxByPrimaryKey(key)方法时,有两种情况。
    情况 1:没有使用@Id 注解明确指定主键字段
    SELECT emp_id,emp_name,emp_salary_apple,emp_age FROM tabple_emp WHERE emp_id = ?
    AND emp_name = ? AND emp_salary_apple = ? AND emp_age = ?
    之所以会生成上面这样的 WHERE 子句是因为通用 Mapper 将实体类中的所有
    字段都拿来放在一起作为联合主键。

    情况 2:使用@Id 主键明确标记和数据库表中主键字段对应的实体类字段

     


     

    1.4@GeneratedValue 注解 注解
    作用:让通用 Mapper 在执行 insert 操作之后将数据库自动生成的主键值回写到实
    体类对象中。
    自增主键用法:
    序列主键用法:
    应用场景:购物车结账
     增加商品销量...
     减少商品库存...
     生成订单数据→封装到 Order 对象中→保存 Order 对象→数据库自动生成主键
    值→回写到实体类对象 Order 中
     生成一系列订单详情数据→List<OrderItem>→在每一个 OrderItem 中设置

    Order 对象的主键值作为外键→批量保存 List<OrderItem>

    @GeneratedValue(strategy = GenerationType.IDENTITY)
    • 根据底层数据库自动选择方式,需要底层数据库的设置
    • 如MySQL,会使用自增字段,需要将主键设置成auto_increment。

     


     

    1.5@Transient 主键 主键
    用于标记不与数据库表字段对应的实体类字段。
    @Transient

    private String otherThings; //非数据库表中字段

  • 相关阅读:
    sh执行脚本报错Syntax error: "(" unexpected
    Ubuntu源码编译安装PostgreSQL
    Linux解决Graphical installers are not supported by the VM
    pytest功能入门
    vscode配置远程开发环境失败_workbench.downloadResource
    花生壳新版 内网穿透教程
    同局域网内进行本机调试
    Windows10激活
    win server 2012安装Vmware tools
    windows实现超级隐藏用户
  • 原文地址:https://www.cnblogs.com/yirgaMonkey/p/9392412.html
Copyright © 2020-2023  润新知