07第四章:01_常用注解

news2024/11/18 23:22:48

常用注解

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/111040.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

WPF依赖属性、附加属性、属性继承、类型转换详解

依赖属性 依赖属性回调方法与参数 具有依赖属性的类必须继承自DependencyObject,定义依赖属性要有2个步骤 //1属性包装器,目的是为了向正常属性一样使用依赖属性 public int Name {get { return (int)GetValue(NameProperty); }set { SetValue(NamePr…

国家“数据安全三认证”图解来了

二十大指引新时代新征程。蓝图已经绘就,号角已经吹响,新征程是充满光荣和梦想的远征。二十大报告深刻阐明了实现中华民族伟大复兴的一系列重大问题,系统擘画了以中国式现代化推进民族复兴的宏伟蓝图,是引领中华民族伟大复兴的政治…

论文导读 | GPU上的动态图数据管理技术浅析

一、背景介绍 随着相关技术的发展,图计算与分析系统在大量场景中得到应用。同时,为了解决图规模巨大等因素导致的性能下降问题,研究人员利用GPU这一新型计算硬件,设计了大量高效的图计算与分析解决方案。GPU提供的高并发计算能力…

我司何晓磊受邀参加东盟与中日韩中小企业人工智能产业论坛并担任评委

我司何晓磊受邀参加东盟与中日韩中小企业人工智能产业论坛并担任评委 一、活动背景 为推动东盟与中日韩(103)中小企业服务联盟务实合作,帮助中小企业提高生产力和技术创新能力,进一步提高国际化发展水平,促进东亚区域…

C++——哈希练习题

文章目录一、编程题1.在长度 2N 的数组中找出重复 N 次的元素2. 两个数组的交集二、面试题给40亿个不重复的无符号整数,没排过序。给一个无符号整数,如何快速判断一个数是否在这40亿个数中。【腾讯】(一)位图应用1. 给定100亿个整…

C++ :STL:初识

1:STL初识 1.1 STL的诞生 STL 诞生来源 长久依赖,软件界一直希望建立一种可重复利用的东西C 的面向对象和泛型思想,目的就是复用性的提升大多数情况下,数据结构和算法都未能有一套标准,导致被迫从事大量重复的工作为了…

多线程问题(一)

目录 一、为什么引入线程? 二、线程和进程的区别 三、创建线程的五种方式 1、创建类继承Thread类 2、创建类实现Runnable接口 3、构造Thread类的匿名内部类 4、构造Runnable的匿名内部类 5、使用lambda表达式 四、start方法与run方法的区别 五、线程…

Promise对象的使用

一、什么是Promise Promise 是异步编程的一种解决方案,比传统的解决方案(回调函数和事件)更合理和更强大。从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。Promise 提供统一的 API,各种异步操…

攻略丨在小红书高效种草,品牌要问的7个问题

这个圣诞节,小羊人和冬阴功(这个冬天依然阴着的打工人)们各怀心事,最有圣诞氛围的地方要数小红书了。打开首页就能看到,宅家自制光影圣诞树,被安利好利来蛋糕,再往下滑一滑,还有圣诞…

[开源工具]2022免费临时邮箱(Temp Free Mail)

2022免费临时邮箱Temp Free Mail1、10分钟邮箱2、45分钟邮箱3、60分钟邮箱4、24小时邮箱5、5日邮箱6、其他临时邮箱7、无时间限制临时邮箱8、临时邮箱常见问题答疑临时邮箱,英文名称 Temp Mail,也被称为一次性邮箱或匿名邮箱,根据它的邮件有效…

Vue - npm 批量升级依赖包

参考: npm 如何更新项目最新依赖包 一行命令更新所有 npm 依赖包 npm 升级依赖包 批量升级有风险!!!升级需谨慎!! 常规的包升级方式 npm update (包) 检查项目可升级的包 方式一 该命令将检查每个已安装的…

初识C++ - 类与对象(下篇·下)

目录 再谈构造函数 隐式类型的转换 explicit关键字 单参数 多参数 static静态 一道关于static的题目 友元 友元函数 友元类 内部类 匿名对象 拷贝对象时的一些编译器优化 结束语 再谈构造函数 1.1 构造函数体赋值 在创建对象时,编译器通过调用构造函…

服装进销存管理软件哪个比较好用?

做好库存是服装行业是保障店铺正常运营重要方面。如果只是靠人工清点记录服装库存情况、手工记账,会花费大量的人员和精力,还不能保证一定的效率和准确率。而且服装业具有鲜明的行业特性:服装款式多、季节性强、颜色/尺码等等,如果…

Influxdb双写服务influxdb-relay部署配置【离线】

Background Influxdb社区版未提供集群方案,官方提供的集群模式为闭源收费版本,具体收费明细不太清楚哈,有知道的请留言告知哈。官方开源的influxdb-relay仅仅支持双写功能,并未支持负载均衡能力,仅仅解决了数据备份的问…

【C++初阶】友元(友元函数友元类)、内部类、匿名对象、拷贝对象时的优化

🌟hello,各位读者大大们你们好呀🌟 🍭🍭系列专栏:【C学习与应用】 ✒️✒️本篇内容:友元函数和友元类的概念和基础应用,简单介绍内部类、匿名对象、拷贝对象时的部分编译器优化情况…

Java守护线程简述

Java守护线程简述前言前置知识线程JVM退出代码测试查看子线程是否继承父线程的类型守护线程在程序退出时的表现普通线程在程序退出时的表现总结前言 最近再看《Java并发编程实战》,正好有一小节关于守护线程的知识,这里做一点小总结。 前置知识 这里只…

云原生之Dockerfile简介和基础实践

dockerfile简介和基础实践一、Dockerfile简介1.1、Dockerfile解决的问题1.2、docker build 构建流程1.3、关键字介绍二、Dockerfile 实践2.1、基本语法实践 --- golang问题检查2.2、基本语法实践 --- gcc总结后言一、Dockerfile简介 Dockerfile是一个创建镜像所有命令的文本文…

为行业赋能 助力行业客户业务大放异彩

近日,2022亚马逊云科技re:Invent全球大会已完美落幕,在大会上发布了很多重磅新品,包括云原生数据战略、硬件创新、高性能计算等等在各行各业中的创新应用,下面就来看看医疗与生命科学、市场调研和数据分析、汽车行业,他…

如何理解UML2.5.1(04篇)

第一步: 这里发现UML2.5.1中的一处错误: 图四、Figure9.10中的一处错误。 错误就在于最下面一个关联右端点处的标记redefines,有了这个标记,就应该意味着此关联特化了某个关联,但是如果我们用“A_ownedAttribute_class…

在Android端集成OpenCV的三种方式

1.Opencv Android SDK 基于Opencv C本地代码,通过Java语言接口使用JNI技术调用C本地方法的SDK开发包。 (1)etc:各类模型文件存储地址 (2)java:Java版本的Android SDK相关文件 (3)native:JNI层…