@TableName


  • 描述:表名注解,項目默認會進行駝峰轉換,使用該注解后,表名就不會進行駝峰轉換(比如不會將RoleUserRef轉換為role_user_ref)
屬性 類型 必須指定 默認值 描述
value String ""

字符串類型,不是必填,用來指定數據表名稱,如RoleUserRef

@TableName(value = "RoleUserRef")
public class RoleUserRef implements Serializable {
.....
}
schema String ""

指定模式名稱。如果使用的是 mysql 數據庫,則指定數據庫名稱。如果使用的是 oracle,則為 schema,例如:schema="scott",其中:scott 就是 oracle 中的 schema。下面以mysql為例,TS_Conf_Test是mysql的數據庫名稱:

@TableName(value = "RoleUserRef", schema = "TS_Conf_Test")
public class RoleUserRef implements Serializable {
.....
}
keepGlobalPrefix boolean false 是否保持使用全局的 tablePrefix 的值(如果設置了全局 tablePrefix 且自行設置了 value 的值)(@since 3.1.1)
resultMap String ""

對應 Mapper XML 文件中 <resultMap> 標簽的 id 屬性的值

@TableName(value = "RoleUserRef", resultMap = "resultMap")
public class RoleUserRef implements Serializable {
.....
}

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.travelsky.csgl.dao.conf.RoleUserRefMapper">
<resultMap id="resultMap" type="com.travelsky.csgl.model.DO.Conf.RoleUserRef">
<id column="rur_sid" property="rurSid"/>
<result column="rur_project_sid" property="rurProjectSid"/>
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 並使用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM