<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] # 常用注解說明 | 注解 | 使用對象 | 相對應的 XML | 描述 | | --- | --- | --- | --- | | @CacheNamespace | 類 | | 為給定的命名空間(比如類)配置緩存。屬性有:implemetation, eviction, flushInterval, size, readWrite, blocking 和 properties。 | | @Property | N/A | | 指定參數值或占位值(placeholder)(能被 mybatis-config.xml 內的配置屬性覆蓋)。屬性有:name, value。(僅在 MyBatis 3.4.2 以上版本生效) | | @CacheNamespaceRef | 類 | | 參照另外一個命名空間的緩存來使用。屬性有:value, name。如果你使用了這個注解,你應設置 value 或者?name 屬性的其中一個。value 屬性用于指定 Java 類型而指定命名空間(命名空間名就是指定的 Java 類型的全限定名),name 屬性(這個屬性僅在 MyBatis 3.4.2 以上版本生效)直接指定了命名空間的名字。 | | @ConstructorArgs | 方法 | | 收集一組結果傳遞給一個結果對象的構造方法。屬性有:value,它是形式參數數組。 | | @Arg | N/A | | 單參數構造方法,是 ConstructorArgs 集合的一部分。屬性有:id, column, javaType, jdbcType, typeHandler, select 和 resultMap。id 屬性是布爾值,來標識用于比較的屬性,和 XML 元素相似。 | | @TypeDiscriminator | 方法 | | 一組實例值被用來決定結果映射的表現。屬性有:column, javaType, jdbcType, typeHandler 和 cases。cases 屬性是實例數組。 | | @Case | N/A | | 單獨實例的值和它對應的映射。屬性有:value, type, results。results 屬性是結果數組,因此這個注解和實際的 ResultMap 很相似,由下面的 Results 注解指定。 | | @Results | 方法 | | 結果映射的列表,包含了一個特別結果列如何被映射到屬性或字段的詳情。屬性有:value, id。value 屬性是 Result 注解的數組。這個 id 的屬性是結果映射的名稱。 | | @Result | N/A | | 在列和屬性或字段之間的單獨結果映射。屬性有:id, column, javaType, jdbcType, typeHandler, one, many。id 屬性是一個布爾值,來標識應該被用于比較(和在 XML 映射中的 相似)的屬性。one 屬性是單獨的聯系,和 相似,而 many 屬性是對集合而言的,和 相似。它們這樣命名是為了避免名稱沖突。 | | @One | N/A | | 復雜類型的單獨屬性值映射。屬性有:select,已映射語句(也就是映射器方法)的全限定名,它可以加載合適類型的實例。fetchType 會覆蓋全局的配置參數 lazyLoadingEnabled。注意 聯合映射在注解 API 中是不支持的。這是因為 Java 注解的限制, 不允許循環引用。 | | @Many | N/A | | 映射到復雜類型的集合屬性。屬性有:select,已映射語句(也就是映射器方法)的全限定名,它可以加載合適類型的實例的集合,fetchType 會覆蓋全局的配置參數 lazyLoadingEnabled。注意 聯合映射在注解 API 中是不支持的。這是因為 Java 注解的限制,不允許循環引用 | | @MapKey | 方法 | | 這是一個用在返回值為 Map 的方法上的注解。它能夠將存放對象的 List 轉化為 key 值為對象的某一屬性的 Map。屬性有: value,填入的是對象的屬性名,作為 Map 的 key 值。 | | @Options | 方法 | 映射語句的屬性 | 這個注解提供訪問大范圍的交換和配置選項的入口,它們通常在映射語句上作為屬性出現。Options 注解提供了通俗易懂的方式來訪問它們,而不是讓每條語句注解變復雜。屬性有:useCache=true, flushCache=FlushCachePolicy.DEFAULT, resultSetType=FORWARD\_ONLY, statementType=PREPARED, fetchSize=-1, timeout=-1, useGeneratedKeys=false, keyProperty=”id”, keyColumn=”“, resultSets=”“。值得一提的是, Java 注解無法指定 null 值。因此,一旦你使用了 Options 注解,你的語句就會被上述屬性的默認值所影響。要注意避免默認值帶來的預期以外的行為。 ? ? ? ?注意: keyColumn 屬性只在某些數據庫中有效(如 Oracle、PostgreSQL 等)。請在插入語句一節查看更多關于 keyColumn 和?keyProperty 兩者的有效值詳情。 | | @Insert @Update @Delete @Select | 方法 | | 這四個注解分別代表將會被執行的 SQL 語句。它們用字符串數組(或單個字符串)作為參數。如果傳遞的是字符串數組,字符串之間先會被填充一個空格再連接成單個完整的字符串。這有效避免了以 Java 代碼構建 SQL 語句時的 “丟失空格” 的問題。然而,你也可以提前手動連接好字符串。屬性有:value,填入的值是用來組成單個 SQL 語句的字符串數組。 | | @InsertProvider @UpdateProvider @DeleteProvider @SelectProvider | 方法 | | 允許構建動態 SQL。這些備選的 SQL 注解允許你指定類名和返回在運行時執行的 SQL 語句的方法。(自從 MyBatis 3.4.6 開始,你可以用 CharSequence 代替?String 來返回類型返回值了。)當執行映射語句的時候,MyBatis 會實例化類并執行方法,類和方法就是填入了注解的值。你可以把已經傳遞給映射方法了的對象作為參數,”Mapper interface type” 和 “Mapper method” 會經過?ProviderContext (僅在 MyBatis 3.4.5 及以上支持)作為參數值。(MyBatis 3.4 及以上的版本,支持多參數傳入)屬性有: type, method。type 屬性需填入類。method 需填入該類定義了的方法名。注意 接下來的小節將會討論類,能幫助你更輕松地構建動態 SQL。 | | @Param | 參數 | N/A | 如果你的映射方法的形參有多個,這個注解使用在映射方法的參數上就能為它們取自定義名字。若不給出自定義名字,多參數(不包括 RowBounds 參數)則先以 “param” 作前綴,再加上它們的參數位置作為參數別名。例如 #{param1}, #{param2},這個是默認值。如果注解是 @Param(“person”),那么參數就會被命名為 #{person}。 | | @SelectKey | 方法 | | 這個注解的功能與 標簽完全一致,用在已經被 @Insert 或 @InsertProvider 或 @Update 或 @UpdateProvider 注解了的方法上。若在未被上述四個注解的方法上作 @SelectKey 注解則視為無效。如果你指定了 @SelectKey 注解,那么 MyBatis 就會忽略掉由 @Options 注解所設置的生成主鍵或設置(configuration)屬性。屬性有:statement 填入將會被執行的 SQL 字符串數組,keyProperty 填入將會被更新的參數對象的屬性的值,before 填入 true 或?false 以指明 SQL 語句應被在插入語句的之前還是之后執行。resultType 填入?keyProperty 的 Java 類型和用 Statement、 PreparedStatement 和?CallableStatement 中的?STATEMENT、 PREPARED 或?CALLABLE 中任一值填入 statementType。默認值是 PREPARED。 | | @ResultMap | 方法 | N/A | 這個注解給 @Select 或者 @SelectProvider 提供在 XML 映射中的 的 id。這使得注解的 select 可以復用那些定義在 XML 中的 ResultMap。如果同一 select 注解中還存在 @Results 或者 @ConstructorArgs,那么這兩個注解將被此注解覆蓋。 | | @ResultType | 方法 | N/A | 此注解在使用了結果處理器的情況下使用。在這種情況下,返回類型為 void,所以 Mybatis 必須有一種方式決定對象的類型,用于構造每行數據。如果有 XML 的結果映射,請使用 @ResultMap 注解。如果結果類型在 XML 的 節點中指定了,就不需要其他的注解了。其他情況下則使用此注解。比如,如果 @Select 注解在一個將使用結果處理器的方法上,那么返回類型必須是 void 并且這個注解(或者 @ResultMap)必選。這個注解僅在方法返回類型是 void 的情況下生效。 | | @Flush | 方法 | N/A | 如果使用了這個注解,定義在 Mapper 接口中的方法能夠調用 SqlSession#flushStatements() 方法。(Mybatis 3.3 及以上) |
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看