最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mybatis中映射文件include標簽的應用

 更新時間:2021年11月26日 10:29:45   作者:如山似水0_0  
這篇文章主要介紹了mybatis中映射文件include標簽的應用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

mybatis映射文件include標簽應用

在這里插入圖片描述

MyBatis中sql標簽定義SQL片段,include標簽引用,可以復用SQL片段可以使用標簽提取出來,在使用的地方使用標簽引用即可.sql標簽中id屬性對應include標簽中的refid屬性。通過include標簽將sql片段和原sql片段進行拼接成一個完整的sql語句進行執(zhí)行。

具體用法如下:

1.引用同一個xml中的sql片段

<sql id="sqlid">
    res_type_id,res_type
</sql>
<select id="selectbyId" resultType="com.property.vo.PubResTypeVO">
    select
    <include refid="sqlid"/>
    from pub_res_type
</select>

2.引用公用的sql片段

include標簽中也可以用property標簽,用以指定自定義屬性。在sql標簽中通過${}取出對應的屬性值

<select id="queryPubResType" parameterType="com.property.vo.PubResTypeVO" resultMap="PubResTypeList">
    select  a.res_type_id,
    <include refid="com.common.dao.FunctionDao.SF_GET_LNG_RES_TYPE">
        <property name="AI_RES_TYPE_ID" value="a.res_type_id"/>
        <property name="lng" value="#{lngId}"/>
        <property name="female" value="'女'"/>
    </include> as res_type
    from    pub_res_type a
</select>

3.對于多個xml文件需要同時引用一段相同的

在某個xml 中定義這個 sql 代碼片段,在需要引用的地方使用全稱引用即可,例子如下:

ShareMapper.xml

<mapper namespace="com.company.ShareMapper">       
    <sql id="someSQL">
       id,name
    </sql>          
</mapper>

CustomMapper.xml

<mapper namespace="com.company.CustomMapper">       
    <select id="selectSome" >
        select
       <include refid="com.company.ShareMapper.someSQL"/>
        from t
    </select>          
</mapper>

使用resultType進行輸出映射,只有查詢出來的列名和pojo中的屬性名一致,該列才可以映射成功。

如果查詢出來的列名和pojo的屬性名不一致,通過定義一個resultMap對列名和pojo屬性名之間作一個映射關系。

  • resultMap:適合使用返回值是自定義實體類的情況
  • resultType:適合使用返回值得數(shù)據(jù)類型是非自定義的,即jdk的提供的類型.

mybatis sql xml include標簽 (代碼去重)

mybatis sql xml 對于重復的代碼片段 可以使用 include 標簽進行優(yōu)化

例如 以下將查詢條件進行優(yōu)化:

 <sql id="where"><!-- 定義代碼片段-->
  <where>
   <if test="CarNo != null and CarNo != ''">
    and car_no like concat('%',#{CarNo},'%')
   </if>
   <if test="CardNo != null and CardNo != ''">
    and card_no = #{CardNo} 
   </if>
   <if test="serviceType != null and serviceType != ''">
    and service_type = #{serviceType} 
   </if>
   .....省略
  </where>
 </sql>
 
 <select id="queryList" resultType="com.framework.entity.WeightEntity">
  select * from weight 
  <include refid="where"/> <!-- 引用-->
  <if test="offset != null and limit != null">
   limit #{offset}, #{limit}
  </if>
 </select>
 
  <select id="queryTotal" resultType="int">
  select count(*) from weight 
  <include refid="where" /> <!-- 引用->
 </select>

當然 include標簽不僅僅用于where, 只要重復代碼片段都可使用

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • springboot通過SchedulingConfigurer實現(xiàn)多定時任務注冊及動態(tài)修改執(zhí)行周期(示例詳解)

    springboot通過SchedulingConfigurer實現(xiàn)多定時任務注冊及動態(tài)修改執(zhí)行周期(示例詳解)

    這篇文章主要介紹了springboot通過SchedulingConfigurer實現(xiàn)多定時任務注冊及動態(tài)修改執(zhí)行周期,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-06-06
  • 當Mybatis遇上目錄樹超全完美解決方案

    當Mybatis遇上目錄樹超全完美解決方案

    這篇文章主要介紹了當Mybatis遇上目錄樹有哪些解決方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • 為什么wait和notify必須放在synchronized中使用

    為什么wait和notify必須放在synchronized中使用

    這篇文章主要介紹了為什么wait和notify必須放在synchronized中使用,文章圍繞主題的相關問題展開詳細介紹,具有一定的參考價值,需要的小伙伴可以參考以參考一下
    2022-05-05
  • SparkSQL讀取hive數(shù)據(jù)本地idea運行的方法詳解

    SparkSQL讀取hive數(shù)據(jù)本地idea運行的方法詳解

    這篇文章主要介紹了SparkSQL讀取hive數(shù)據(jù)本地idea運行的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • Java 兩種延時thread和timer詳解及實例代碼

    Java 兩種延時thread和timer詳解及實例代碼

    這篇文章主要介紹了Java 兩種延時thread和timer詳解及實例代碼的相關資料,需要的朋友可以參考下
    2017-02-02
  • Java實現(xiàn)一個簡單的文件上傳案例示例代碼

    Java實現(xiàn)一個簡單的文件上傳案例示例代碼

    這篇文章主要介紹了Java實現(xiàn)一個簡單的文件上傳案例,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • java實現(xiàn)攝像頭截圖功能

    java實現(xiàn)攝像頭截圖功能

    這篇文章主要為大家詳細介紹了java實現(xiàn)攝像頭截圖功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • java使用tess4j進行圖片文字識別功能

    java使用tess4j進行圖片文字識別功能

    Tess4J?是Java?(JNA)?對?Tesseract?OCR?API?的封裝,Tess4J是java直接可使用的jar包,而Tesseract?OCR是支持Tess4J進文件文字識別的基礎,Tess4J可直接使用Maven方式引入,這篇文章主要介紹了java使用tess4j進行圖片文字識別,需要的朋友可以參考下
    2023-04-04
  • SpringBoot集成Redis流程詳解

    SpringBoot集成Redis流程詳解

    這篇文章主要介紹了SpringBoot集成Redis流程詳解,導入jar包,編寫配置類,編寫util類,配置yml這四個步驟,有詳細的代碼示例,,需要的朋友可以參考下
    2023-05-05
  • Java對int[]數(shù)組做新增刪除去重操作代碼

    Java對int[]數(shù)組做新增刪除去重操作代碼

    這篇文章主要介紹了Java里面對int[]數(shù)組做新增刪除去重實現(xiàn),這里記錄下使用int[]數(shù)組對數(shù)組進行新增刪除去重等操作,用來更加了解java里面的集合類思想,需要的朋友可以參考下
    2023-10-10

最新評論

缙云县| 繁昌县| 江津市| 光泽县| 远安县| 钟山县| 汶川县| 泸州市| 南溪县| 马尔康县| 鄂托克前旗| 博兴县| 奇台县| 渭源县| 道孚县| 汨罗市| 淄博市| 唐河县| 卢湾区| 莎车县| 忻城县| 四平市| 绥江县| 鸡东县| 吴忠市| 桐城市| 姚安县| 南安市| 泽普县| 望奎县| 新津县| 武清区| 含山县| 富宁县| 视频| 新邵县| 平凉市| 金华市| 东安县| 贵阳市| 定边县|