通用Mapper

本文介绍了SpringDataJPA中常用的四个注解:@Table用于表映射,@Column处理字段映射,@Id处理主键策略,@GeneratedValue自动增长主键。同时概述了selectOne(),xxxByPrimaryKey,和xxxSelective方法在查询操作中的功能和用法。
摘要由CSDN通过智能技术生成

1. 常用注解

@Table 注解

作用:建立实体类和数据库表之间的对应关系。
默认规则:实体类类名首字母小写作为表名。Employee 类→employee 表。
用法:在@Table 注解的 name 属性中指定目标数据库表的表名

@Table(name = "table_emp")
public class Employee {}
@Column 注解

作用:建立实体类字段和数据库表字段之间的对应关系。
默认规则:
1) 实体类字段:驼峰式命名
2) 数据库表字段:使用“_”区分各个单词
用法:在@Column 注解的 name 属性中指定目标字段的字段名

    @Column(name = "salary")
    private Double empSalary;
@Id 注解

通用 Mapper 在执行 xxxByPrimaryKey(key)方法时,有两种情况。
1) 情况 1:没有使用@Id 注解明确指定主键字段
2) 情况 2:使用@Id 主键明确标记和数据库表中主键字段对应的实体类字段。

    @Id
    private Integer empId;
@GeneratedValue 注解

作用:让通用 Mapper 在执行 insert 操作之后将数据库自动生成的主键值回写到实体类对象中。
自增主键用法:

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer empId;
@Transient 主键

用于标记不与数据库表字段对应的实体类字段。

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

2. 常用方法

selectOne() 方法
  • 实体类封装查询条件生成 WHERE 子句的规则

    1) 使用非空的值生成 WHERE 子句
    2) 在条件表达式中使用“=”进行比较

  • 要求必须返回一个实体类结果,如果有多个,则会抛出异常

xxxByPrimaryKey 方法

需要使用 @Id 主键明确标记和数据库表主键字段对应的实体类字段,否则通用
Mapper 会将所有实体类字段作为联合主键。

xxxSelective 方法

非主键字段如果为 null 值,则不加入到 SQL 语句中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值