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

Mybatis 動態(tài)表名+Map參數(shù)傳遞+批量操作詳解

 更新時間:2020年12月02日 11:37:24   作者:零三一  
這篇文章主要介紹了Mybatis 動態(tài)表名+Map參數(shù)傳遞+批量操作詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

需求:

之前項目一個變動,需要對3張mysql數(shù)據(jù)庫表數(shù)據(jù)進行清洗,3張表表名不同,表結(jié)構(gòu)完全相同,需要對這3張表進行相同的增、改、查動作,一開始比較緊急先對一張表進行操作,后來復制了3個一樣的 service、dao、mapper等。后來對代碼進行優(yōu)化,研究了一下動態(tài)表名的處理。

1,查詢操作:

查詢操作只需要傳入動態(tài)表名的時候,傳遞參數(shù)仍然是map

mapper.xml內(nèi),需要使用statementType="STATEMENT",采用非預編譯模式

mapper.xml內(nèi),動態(tài)表名的獲取使用 ${tableName}

2,批量插入操作:

查詢操作只需要傳入動態(tài)表名的時候,傳遞參數(shù)仍然是map

mapper.xml內(nèi),不需要使用statementType="STATEMENT",否則會在運行時報錯提示語法錯誤(具體原因不是很清楚)。

動態(tài)表名的獲取使用 ${tableName}, 而insert 的 collection 屬性名為傳入?yún)?shù)的map內(nèi)的key名,不需要任何修飾符。

list內(nèi)容使用 #{item.guid}來獲取,而不是$。

補充知識:mybatis動態(tài)傳入表名并返回map,返回空間點的坐標

mybatis學習中

動態(tài)傳入表名并返回某幾個字段map,取某個空間表的shape字段的坐標。代碼如下

xml文件

<select id="selectLocationByPrimaryKey" statementType="STATEMENT" resultType="java.util.HashMap" parameterType="java.util.Map">
   select t.shape.minx as X,t.shape.miny as Y from ${sourceObj} t where OBJECTID = ${featureId}
 </select>

注意statementType必須,且值必須是大寫的STATEMENT,參數(shù)傳入為多個,用map。

dao文件

public void selectLocByPK(String sourceObj, Long featureId) {
params.put("sourceObj", "sde."+sourceObj);
params.put("featureId", featureId);
Map map = this.getSqlSessionTemplate().selectOne("selectLocationByPrimaryKey", params);
Double x = (Double)map.get("X");
Double y = (Double)map.get("Y");
System.out.println(x+","+y);
}

注意查詢的是sde用戶下的表名是參數(shù)傳遞的sourceObj,因為用其他用戶連接的數(shù)據(jù)庫 所以查詢其他用戶下的表的時候必須用用戶名加表名。當然前提你這個用戶有查詢其他用戶表的權(quán)限。params類型是HashMap。xml文件中取值時候必須要跟此地方綁定的key值一直,不然取到為null.此處key為xml文件的時候查詢列的別名。

只是一條數(shù)據(jù),多條數(shù)據(jù)可以用selectList 方法 返回List ,xml基本不用變。

以上這篇Mybatis 動態(tài)表名+Map參數(shù)傳遞+批量操作詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring MVC+mybatis實現(xiàn)注冊登錄功能

    Spring MVC+mybatis實現(xiàn)注冊登錄功能

    這篇文章主要為大家詳細介紹了Spring MVC+mybatis實現(xiàn)注冊登錄功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • springboot獲取resources下static目錄的位置

    springboot獲取resources下static目錄的位置

    這篇文章主要為大家詳細介紹了springboot獲取resources下static目錄的位置的三種常用方法,文中的示例代碼講解詳細,感興趣的小伙伴可以參考一下
    2024-12-12
  • 通過Java添加Word文本框過程詳解

    通過Java添加Word文本框過程詳解

    這篇文章主要介紹了通過Java添加Word文本框過程詳解,在Word中,文本框是指一種可移動、可調(diào)節(jié)大小的文字或圖形容器。我們可以向文本框中添加文字、圖片、表格等對象,下面,將通過Java編程來實現(xiàn)添加以上對象到Word文本框,需要的朋友可以參考下
    2019-07-07
  • Java雜談之如何消除代碼中一大串參數(shù)列表

    Java雜談之如何消除代碼中一大串參數(shù)列表

    參數(shù)列表和字面意思差不多,主要是表示該參數(shù)數(shù)量不是固定的,可能會有一個參數(shù),可能多個,不管多少個參數(shù),都放到一個數(shù)組處理,這種參數(shù)叫可變參數(shù)。可變長參數(shù)要放在最后一個參數(shù)位置處理,但是一個函數(shù)里面不能有倆種類型的可變參數(shù)
    2021-10-10
  • SpringBoot Bean花式注解方法示例下篇

    SpringBoot Bean花式注解方法示例下篇

    這篇文章主要介紹了SpringBoot Bean花式注解方法,很多時候我們需要根據(jù)不同的條件在容器中加載不同的Bean,或者根據(jù)不同的條件來選擇是否在容器中加載某個Bean
    2023-02-02
  • Java中StringBuilder與StringBuffer使用及源碼解讀

    Java中StringBuilder與StringBuffer使用及源碼解讀

    我們前面學習的String就屬于不可變字符串,因為理論上一個String字符串一旦定義好,其內(nèi)容就不可再被改變,但實際上,還有另一種可變字符串,包括StringBuilder和StringBuffer兩個類,那可變字符串有什么特點,又怎么使用呢,接下來就請大家跟我一起來學習吧
    2023-05-05
  • RocketMQ4.5.2 修改mqnamesrv 和 mqbroker的日志路徑操作

    RocketMQ4.5.2 修改mqnamesrv 和 mqbroker的日志路徑操作

    這篇文章主要介紹了RocketMQ 4.5.2 修改mqnamesrv 和 mqbroker的日志路徑操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • spring?boot?Mybatis?攔截器實現(xiàn)拼接sql和修改的代碼詳解

    spring?boot?Mybatis?攔截器實現(xiàn)拼接sql和修改的代碼詳解

    這篇文章主要介紹了spring?boot?Mybatis?攔截器實現(xiàn)拼接sql和修改,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • java集合PriorityQueue優(yōu)先級隊列方法實例

    java集合PriorityQueue優(yōu)先級隊列方法實例

    這篇文章主要為大家介紹了java集合PriorityQueue優(yōu)先級隊列方法實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • Java?實現(xiàn)訂單未支付超時自動取消功能(京東商城為例)

    Java?實現(xiàn)訂單未支付超時自動取消功能(京東商城為例)

    本文以京東網(wǎng)上商城為例,給大家介紹商品在下單后沒有支付的情況下,超時自動取消功能,超過24小時,就會自動取消訂單,下面使用 Java 定時器實現(xiàn)超時取消訂單功能,感興趣的朋友一起看看吧
    2022-01-01

最新評論

洛南县| 景洪市| 肥乡县| 龙州县| 桐庐县| 元氏县| 辽阳市| 松滋市| 开鲁县| 青阳县| 遂宁市| 册亨县| 博乐市| 新密市| 德清县| 崇明县| 仁怀市| 琼中| 望都县| 县级市| 高要市| 彭山县| 武夷山市| 建宁县| 阿拉善盟| 太白县| 昌宁县| 清水河县| 乐山市| 清流县| 平乐县| 平定县| 汝阳县| 温泉县| 呼和浩特市| 福泉市| 饶河县| 利津县| 泸水县| 怀仁县| 吉林省|