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; //非数据库表中字段

最新文章

  1. Javascript中call和apply的区别和用法
  2. vi 技巧和诀窍~转IBM
  3. HDU 3622 Bomb Game(二分+2SAT)
  4. ios 中怎么自定义(RGB)背景色
  5. UVA 550 Multiplying by Rotation (简单递推)
  6. RequireJS的简单应用
  7. oracle合并查询
  8. PHP静态成员变量和非静态成员变量
  9. SPOJ 8222 Substrings(后缀自动机)
  10. HDFS建筑与shell操作
  11. 性能测试培训:WebSocket协议的接口性能之Jmeter
  12. lucene全文搜索之二:创建索引器(创建IKAnalyzer分词器和索引目录管理)基于lucene5.5.3
  13. Prim最小生成树板子
  14. android组件化方案、二维码扫码、Kotlin新闻客户端、动画特效等源码
  15. CAS单点登陆/oAuth2授权登陆
  16. day15--JavaScript
  17. html5-label标签
  18. 学习stm32 让我们一起回顾一下C语言吧
  19. dubbo支持的注册中心
  20. 20165227 学习基础和C语言基础调查

热门文章

  1. linux操作备份
  2. Spring Aop(四)——基于Aspectj注解的Advice介绍
  3. 敏捷管理的大概背景和Scrum的特性
  4. C#实现工作日和休息日(包括法定节假日)的计算
  5. 小程序php支付,前后端分离
  6. vimium快捷键修改
  7. docker login Harbor时报错403 Forbidden
  8. hadoop(二MapReduce)
  9. 【Funny Things】001——QQ循环发送消息
  10. Spark的lazy特性有什么意义呢?