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

通用Mapper的四个常见注解

四个常见注解

1、@Table

作用:建立实体类数据库表之间的对应关系。

默认规则:实体类类名首字母小写作为表名,如 Employee -> employee 表

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

案例:

2、@Column

作用:建立实体类字段数据库表字段之间的对应关系

默认规则:实体类字段,驼峰式命名,数据库表字段,使用"_" 区分各个单词;

用法:在 @Column 注解的 name 属性中指定目标字段的字段名

案例:

3、@Id

通用 Mapper 在执行 xxxByPrimaryKey(key) 方法时,有两种情况:

情况 1:没有使用 @Id 注解明确指定主键字段

SELECT emp_id,emp_name,emp_salary,emp_age FROM tabple_emp 
WHERE emp_id = ? AND emp_name = ? AND emp_salary = ? AND emp_age = ?

之所以会生成上面的 where 子句是因为通用 Mapper 将实体类的所有字段都拿来放在一起作为联合主键。

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

如:

SELECT emp_id,emp_name,emp_salary,emp_age FROM tabple_emp WHERE emp_id = ?

注意:如果是多个字段作为联合主键,需要在每个字段上面都加上 @Id 注解。

4、@GeneratedValue

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

自增主键用法(MySQL):

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

序列主键用法(Oracle)

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY, generator="select SEQ_ID.nextval from dual")
private Integer empId;

5、@Transient

一般实体类中字段和数据库表中字段一一对应的,但是也有很多情况会在实体类中增加一些额外的属性,这种情况,需要使用@Transient 注解告诉通用 Mapper 这不是表中的字段

对于类中复杂对象,以及 Map、List 等属性不需要配置这个注解

配置实例:

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

 


 

代码举例 

import lombok.Data;import javax.persistence.Id;
import javax.persistence.Table;@Data
@Table(name = "user")
public class User {@Idprivate Integer id;private String name;private Integer age;
}

相关文章:

通用Mapper的四个常见注解

四个常见注解 1、Table 作用:建立实体类和数据库表之间的对应关系。 默认规则:实体类类名首字母小写作为表名,如 Employee -> employee 表 用法:在 Table 注解的 name 属性中指定目标数据库的表名; 案例&#…...

二进制安装K8S(单Master集群架构)

目录 一:操作系统初始化配置 1、项目拓扑图 2、服务器 3、初始化操作 二: 部署 etcd 集群 1、etcd 介绍 2、准备签发证书环境 3、master01 节点上操作 (1)生成Etcd证书 (2)创建用于存放 etcd 配置文…...

基于java汽车销售分析与管理系统设计与实现

摘 要 计算机现在已成为人们办公和生活不可或缺的组成部分,在工作范畴计算机成熟运用大大提升了工作人员的工作效率,化繁为简,加速社会经济发展。在生活上,人们可以通过计算机互联网更快的了解到全球时事要闻、听到最新潮流音乐、…...

Glass指纹识别工具,多线程Web指纹识别工具-Chunsou

Glass指纹识别工具,多线程Web指纹识别工具-Chunsou。 Glass指纹识别工具 Glass一款针对资产列表的快速指纹识别工具,通过调用Fofa/ZoomEye/Shodan/360等api接口快速查询资产信息并识别重点资产的指纹,也可针对IP/IP段或资产列表进行快速的指…...

BIO,NIO,AIO总结

文章目录 1. BIO (Blocking I/O)1.1 传统 BIO1.2 伪异步 IO1.3 代码示例 1.4 总结2. NIO (New I/O)2.1 NIO 简介2.2 NIO的特性/NIO与IO区别1)Non-blocking IO(非阻塞IO)2)Buffer(缓冲区)3)Channel (通道)4)Selector (选择器) 2.3 NIO 读数据和写数据方式…...

[腾讯云Cloud Studio实战训练营]基于Cloud Studio完成图书管理系统

[腾讯云Cloud Studio实战训练营]基于Cloud Studio完成图书管理系统 ⭐前言🌜Cloud Studio产品介绍1.登录2.创建工作空间3.工作空间界面简介4.环境的使用 ⭐实验实操🌜Cloud Studio实现图书管理系统1.实验目的 2. 实验过程2.实验环境3.源码讲解3.1添加数据…...

(二)Node.js 基础模块

(二)Node.js 基础模块 1. fs文件系统模块1.1 什么是fs文件系统模块1.2 读取指定文件中的内容1. fs.readFile()的语法格式2. fs.readFile()的示例代码 1.3 向指定的文件中写入内容1. fs.writeFile()的语法格式2. fs.writeFile()的实例代码 1.4 __dirname …...

AUC及其拓展GAUC

AUC及其拓展GAUC auc的定义 auc用来评估一个分类器的排序质量,它的物理含义:给定一堆正负样本,随机取一个正样本,一个负样本,学习器将正样本排在负样本前面的概率 auc的计算 具体计算方法:给定m个正样本…...

【CSS】CSS 选择器

CSS 选择器 1.基础选择器 1.1 元素选择器 语法:标签名{...} 元素选择器会选中对应标签名的HTML元素,例如:p{...},div{...},span{...}等 1.2 类选择器 语法:.类名{...} 类选择器会选中class属性为指定…...

2023-08-07力扣今日四题-好题

链接: 剑指 Offer 03. 数组中重复的数字 题意: 如题 解: 看到一个很牛的时间复杂度O(n)的原地算法:由于数组长度n,数组内只有0到n-1,那么,我们用对应-n到-1表示nums[index]出现过一次&…...

Packet Tracer - IPv4 和 IPv6 编址故障排除

Packet Tracer - IPv4 和 IPv6 编址故障排除 地址分配表 设备 接口 IPv4 地址 子网掩码 默认网关 IPv6 地址/前缀 R1 G0/0 10.10.1.1 255.255.255.0 N/A G0/1 192.168.0.1 255.255.255.0 N/A 2001:DB8:1:1::1/64 N/A G0/2 2001:DB8:1:2::1/64 N/A S0/0/0 …...

PHP国外在线教育系统源码 在线课程系统源码 直播课程系统源码提供在线课程,现场课程,测验

Proacademy是在线教育一体化的解决方案,用于创建类似于Udemy、Skillshare、Coursera这种在线教育市场。 这个平台提供在线课程,现场课程,测验等等,并有一个基于实际业务需要的高级认证插件,程序基于Laravel强大的安全框…...

Abaqus 中最常用的子程序有哪些 硕迪科技

在ABAQUS中,用户定义的子程序是一种重要的构件,可以将其插入到Abaqus分析中以增强该软件的功能和灵活性。这些子程序允许用户在分析过程中添加自定义材料模型、边界条件、初始化、加载等特定操作,以便更精准地模拟分析中的现象和现象。ABAQUS…...

容器——3.Collection 子接口之 Set

文章目录 3.1. comparable 和 Comparator 的区别3.1.1. Comparator 定制排序3.1.2. 重写 compareTo 方法实现按年龄来排序 3.2. 无序性和不可重复性的含义是什么3.3. 比较 HashSet、LinkedHashSet 和 TreeSet 三者的异同 3.1. comparable 和 Comparator 的区别 comparable 接口…...

将整数,结构体,结构体数组,链表写到文件

在之前的学习中,忘文件中写的内容都是字符串或字符,本节学习如何写入其他各种类型的数据。 回看write和read函数的形式: ssize_t write(int fd, const void *buf, size_t count); ssize_t read(int fd, void *buf, size_t count); 其中&a…...

UNIX基础知识:UNIX体系结构、登录、文件和目录、输入和输出、程序和进程、出错处理、用户标识、信号、时间值、系统调用和库函数

引言: 所有的操作系统都为运行在其上的程序提供服务,比如:执行新程序、打开文件、读写文件、分配存储区、获得系统当前时间等等 1. UNIX体系结构 从严格意义上来说,操作系统可被定义为一种软件,它控制计算机硬件资源&…...

IDEA2021.3.1-优化设置IDEA2021.3.1-优化设置、快捷方式改为eclipse、快捷键等

IDEA2021.3.1-优化设置IDEA2021.3.1-优化设置、快捷方式改为eclipse、快捷键等 一、主题设置二、鼠标悬浮提示三、显示方法分隔符四、代码提示忽略大小写五、自动导包六、取消单行显示tabs七、设置字体八、配置类文档注释信息模板九、设置文件编码9.1、所有地方设置为UTF-89.2、…...

使用C#的窗体显示与隐藏动画效果方案 - 开源研究系列文章

今天继续研究C#的WinForm的显示动画效果。 上次我们实现了无边框窗体的显示动画效果(见博文:基于C#的无边框窗体动画效果的完美解决方案 - 开源研究系列文章 ),这次介绍的是未在任务栏托盘中窗体的显示隐藏动画效果的实现代码。 1、 项目目录&#xff1b…...

09_Vue3中的 toRef 和 toRefs

toRdf 作用:创建一个 ref 对象,其 value 值指向另一个对象中的某个属性。语法: const name toRef(person,name) 应用:要将响应式对象中的某个属性单独提供给外部使用时。扩展:toRef 与 toRefs 功能一致&#xff0…...

JAVA获取视频音频时长 文件大小 MultipartFileUtil和file转换

java 获取视频时长_java获取视频时长_似夜晓星辰的博客-CSDN博客 <dependency><groupId>ws.schild</groupId><artifactId>jave-all-deps</artifactId><version>2.5.1</version></dependency>Slf4j public class VideoTimeUtil…...

Doorkeeper与Rails Engines集成终极指南:如何在大型项目中组织认证模块

Doorkeeper与Rails Engines集成终极指南&#xff1a;如何在大型项目中组织认证模块 【免费下载链接】doorkeeper Doorkeeper is an OAuth 2 provider for Ruby on Rails / Grape. 项目地址: https://gitcode.com/gh_mirrors/do/doorkeeper Doorkeeper是一个强大的OAuth …...

Apache NiFi数据质量管理的终极指南:如何构建强大的验证规则与异常检测系统

Apache NiFi数据质量管理的终极指南&#xff1a;如何构建强大的验证规则与异常检测系统 【免费下载链接】nifi Apache NiFi 项目地址: https://gitcode.com/gh_mirrors/ni/nifi Apache NiFi是一个强大的数据流自动化平台&#xff0c;专门用于数据集成和数据流管理。在当…...

效率倍增器:OpenClaw+千问3.5-27B自动化邮件处理

效率倍增器&#xff1a;OpenClaw千问3.5-27B自动化邮件处理 1. 为什么需要自动化邮件处理 每天早晨打开邮箱&#xff0c;看到堆积如山的未读邮件时&#xff0c;那种窒息感我至今难忘。作为技术团队的接口人&#xff0c;我的邮箱常年保持着2000未读邮件的状态——重要需求埋没…...

2026年,正规GEO优化排名公司将如何引领行业新潮流?

在AI搜索全面普及的当下&#xff0c;GEO&#xff08;生成式引擎优化&#xff09;成为企业突破曝光瓶颈的核心赛道。到2026年&#xff0c;正规GEO优化排名公司将凭借其专业能力和创新策略&#xff0c;引领行业迈向新的发展阶段。以[上海铪铪网络科技有限公司]为例&#xff0c;我…...

用快马AI快速原型:十分钟搭建腾讯云龙虾主题资源监控面板

今天想和大家分享一个有趣的小项目——用InsCode(快马)平台快速搭建腾讯云龙虾主题的资源监控面板原型。这个项目特别适合想要快速验证创意的开发者&#xff0c;整个过程不到十分钟就能完成&#xff0c;而且完全不需要后端支持。 项目构思 这个创意的核心是把云资源管理界面趣味…...

HGD运动想象脑电数据集预处理实战:从数据加载到特征标准化

1. HGD数据集简介与下载指南 HGD&#xff08;High Gamma Dataset&#xff09;是目前运动想象脑电研究领域最常用的公开数据集之一&#xff0c;由德国柏林工业大学团队采集并开源。这个数据集包含了14名受试者在执行左手、右手、脚部和休息四种运动想象任务时的高密度脑电信号&a…...

终极指南:免费解锁Cursor Pro完整功能,告别AI编程限制

终极指南&#xff1a;免费解锁Cursor Pro完整功能&#xff0c;告别AI编程限制 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reach…...

实时操作系统(RTOS)核心特性与工业实践解析

1. 实时操作系统核心特性解析实时操作系统&#xff08;RTOS&#xff09;的核心设计理念在于"确定性响应"&#xff0c;这与我们日常使用的通用操作系统有着本质区别。我曾参与过工业控制系统的开发&#xff0c;深刻体会到RTOS在关键任务场景下的不可替代性。以数控机床…...

linux——消息队列进程间通信

ftok函数key_t ftok( char * fname, int id ) //系统建立IPC通讯&#xff08;如消息队列、共享内存时&#xff09;必须指定一个ID值。通常情况下&#xff0c;该id值通过ftok函数得到。 参数&#xff1a; fname就时你指定的文件名(该文件必须是存在而且可以访问的)。 id是子序…...

YouTube面临儿童AI内容监管挑战

专家呼吁YouTube停止向儿童推荐AI视频近日&#xff0c;超200名儿童发展专家及相关机构联名致信谷歌和YouTube高层&#xff0c;强烈要求YouTube及YouTube Kids停止向未成年用户展示或推荐AI生成视频。这些专家指出&#xff0c;大量所谓有“教育用途”的AI视频其实内容空洞、质量…...