不标识@TableName、@TableField和@TableID注解会发生什么?

简介: 不标识@TableName、@TableField和@TableID注解会发生什么?

如果不标识 @TableName@TableField@TableId 注解,通常的 ORM 框架会采用一些默认规则来进行映射。以下是一些可能的默认规则:


  1. 表名默认规则: ORM 框架可能会使用实体类的类名,并将其转换为数据库表名。例如,实体类 User 可能默认映射到数据库表 user
  2. 字段名默认规则: ORM 框架通常会将实体类的属性名作为数据库表的列名。例如,实体类中的属性 userName 可能默认映射到数据库表中的列名 user_name
  3. 主键默认规则: ORM 框架可能会将名为 id 的属性默认视为主键,且采用适当的主键生成策略。例如,使用自增长的方式。
  4. 字段存在性默认规则: 如果某个实体类属性在数据库表中不存在,ORM 框架可能会引发异常或忽略该属性。


如果数据库表和实体类的命名规则及结构默认符合上述规则,那么在很多情况下,你可能无需显式地添加这些注解。但是,一旦涉及到不同的命名规则、主键生成策略、字段的存在性等需求,显式地使用这些注解能够提供更细粒度的控制和配置。


标识这些注解能够让你更加灵活地定义数据库表和实体类之间的映射关系,以及控制生成的 SQL 语句。如果你不使用这些注解,框架可能会采用默认规则,但你可能会失去一些自定义配置的机会。


这些就需要继续探索Mybatis啦


相关文章
|
机器学习/深度学习 移动开发
解决mqtt连接报Connection lost (32109) - java.lang.IllegalArgumentException: Invalid UTF-8 char: [a]错误问题
最近生产环境在向mqtt客户端发布数据时反复出现一会断开一会连接错误,捕获的异常是java.lang.IllegalArgumentException: Invalid UTF-8 char: [a]。尝试各种方式都未找到问题的原因,最后在检查发送主题topic的时候发现所发送mqtt客户端的topic的结尾包含了换行符,最终才将问题得以解决。
6001 0
解决mqtt连接报Connection lost (32109) - java.lang.IllegalArgumentException: Invalid UTF-8 char: [a]错误问题
|
SQL 资源调度 数据库
数仓学习---14、大数据技术之DolphinScheduler
数仓学习---14、大数据技术之DolphinScheduler
|
Java 数据安全/隐私保护
|
Linux
CentOS7.X磁盘挂载及取消挂载
CentOS7.X磁盘挂载及取消挂载
8104 0
|
11月前
|
Java 测试技术 程序员
为什么Spring不推荐@Autowired用于字段注入?
作为Java程序员,Spring框架在日常开发中使用频繁,其依赖注入机制带来了极大的便利。然而,尽管@Autowired注解简化了依赖注入,Spring官方却不推荐在字段上使用它。本文将探讨字段注入的现状及其存在的问题,如难以进行单元测试、违反单一职责原则及易引发NPE等,并介绍为何Spring推荐构造器注入,包括增强代码可读性和维护性、方便单元测试以及避免NPE等问题。通过示例代码展示如何将字段注入重构为构造器注入,提高代码质量。
320 1
|
XML SQL Java
Mybatis-Plus中实现使用xml文件来写复杂sql
Mybatis-Plus中实现使用xml文件来写复杂sql
2349 0
|
8月前
|
存储 关系型数据库 MySQL
MySQL中为什么要使用索引合并(Index Merge)?
通过这些内容的详细介绍和实际案例分析,希望能帮助您深入理解索引合并及其在MySQL中的
489 10
|
Java 数据库连接 数据库
mybatis-plus报错:Can not find table primary key in Class
mybatis-plus报错:Can not find table primary key in Class
2157 1
|
SQL Java 数据库连接
成功解决:was not registered for synchronization because synchronization is not active
这篇文章是关于解决Mybatis在同步过程中出现"was not registered for synchronization because synchronization is not active"错误的技术博客。
成功解决:was not registered for synchronization because synchronization is not active
|
安全 Linux 网络安全
【工具使用】几款优秀的SSH连接客户端软件工具推荐FinalShell、Xshell、MobaXterm、OpenSSH、PUTTY、Terminus、mRemoteNG、Terminals等
【工具使用】几款优秀的SSH连接客户端软件工具推荐FinalShell、Xshell、MobaXterm、OpenSSH、PUTTY、Terminus、mRemoteNG、Terminals等
117217 0