- 描述:表名注解,項目默認會進行駝峰轉換,使用該注解后,表名就不會進行駝峰轉換(比如不會將RoleUserRef轉換為role_user_ref)
屬性 | 類型 | 必須指定 | 默認值 | 描述 |
---|---|---|---|---|
value | String | 否 | "" | 字符串類型,不是必填,用來指定數據表名稱,如RoleUserRef @TableName(value = "RoleUserRef") |
schema | String | 否 | "" | 指定模式名稱。如果使用的是 mysql 數據庫,則指定數據庫名稱。如果使用的是 oracle,則為 schema,例如:schema="scott",其中:scott 就是 oracle 中的 schema。下面以mysql為例,TS_Conf_Test是mysql的數據庫名稱: @TableName(value = "RoleUserRef", |
keepGlobalPrefix | boolean | 否 | false | 是否保持使用全局的 tablePrefix 的值(如果設置了全局 tablePrefix 且自行設置了 value 的值)(@since 3.1.1) |
resultMap | String | 否 | "" | 對應 Mapper XML 文件中 <resultMap> 標簽的 id 屬性的值 @TableName(value = "RoleUserRef", resultMap = "resultMap") <?xml version="1.0" encoding="UTF-8"?> |
autoResultMap | boolean | 否 | false | 控制是否自動構建 resultMap 並使用它,如果你手動設置 resultMap 則不會進行自動構建並注入 resultMap(@since 3.1.2) |
關於 `autoResultMap` 的說明
MyBatis Plus 會自動構建一個 ResultMap 並注入到 mybatis 里(一般用不上)。下面講兩句:因為 MyBatis Plus 底層是 mybatis,所以一些 mybatis 的常識你要知道,MyBatis Plus 只是幫你注入了常用 crud 到 mybatis 里。注入之前可以說是動態的(根據你 entity 的字段以及注解變化而變化),但是注入之后是靜態的(等於你寫在 xml 的東西)而對於直接指定typeHandler,mybatis 只支持你寫在2個地方:
-
定義在 resultMap 里,只作用於 select 查詢的返回結果封裝
-
定義在 insert 和 update sql 的 #{property} 里的 property 后面(例:#{property,typehandler=xxx.xxx.xxx}),只作用於設置值而除了這兩種直接指定 typeHandler,mybatis 有一個全局的掃描你自己的 typeHandler 包的配置,這是根據你的 property的類型去找 typeHandler 並使用。