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

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

  1. 表名默认规则: ORM 框架可能会使用实体类的类名,并将其转换为数据库表名。例如,实体类 User 可能默认映射到数据库表 user

  2. 字段名默认规则: ORM 框架通常会将实体类的属性名作为数据库表的列名。例如,实体类中的属性 userName 可能默认映射到数据库表中的列名 user_name

  3. 主键默认规则: ORM 框架可能会将名为 id 的属性默认视为主键,且采用适当的主键生成策略。例如,使用自增长的方式。

  4. 字段存在性默认规则: 如果某个实体类属性在数据库表中不存在,ORM 框架可能会引发异常或忽略该属性。

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

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

这些就需要继续探索Mybatis啦

你可能感兴趣的:(java,oracle,数据库,mybatis,springboot,java,java-ee)