成人视屏在线观看-国产99精品-国产精品1区2区-欧美一级在线观看-国产一区二区日韩-色九九九

您的位置:首頁技術(shù)文章
文章詳情頁

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

瀏覽:52日期:2023-10-20 18:01:18

需求:

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

1,查詢操作:

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

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

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

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

2,批量插入操作:

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

mapper.xml內(nèi),不需要使用statementType='STATEMENT',否則會(huì)在運(yùn)行時(shí)報(bào)錯(cuò)提示語法錯(cuò)誤(具體原因不是很清楚)。

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

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

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

補(bǔ)充知識(shí):mybatis動(dòng)態(tài)傳入表名并返回map,返回空間點(diǎn)的坐標(biāo)

mybatis學(xué)習(xí)中

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

xml文件

<select 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ù)傳入為多個(gè),用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,因?yàn)橛闷渌脩暨B接的數(shù)據(jù)庫 所以查詢其他用戶下的表的時(shí)候必須用用戶名加表名。當(dāng)然前提你這個(gè)用戶有查詢其他用戶表的權(quán)限。params類型是HashMap。xml文件中取值時(shí)候必須要跟此地方綁定的key值一直,不然取到為null.此處key為xml文件的時(shí)候查詢列的別名。

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

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

標(biāo)簽: Mybatis 數(shù)據(jù)庫
相關(guān)文章:
主站蜘蛛池模板: 老司机深夜影院入口aaaa | 国产亚洲精品久久久久久 | 深夜福利国产福利视频 | 国产一区二区三区高清视频 | 久久这里只有精品免费播放 | 香蕉自拍视频 | 国产亚洲欧美ai在线看片 | 亚洲欧美日韩国产精品影院 | 2021精品国产品免费观看 | 在线私拍国产福利精品 | 日韩精品一区二区三区高清 | 国产大片中文字幕在线观看 | 99成人精品 | zztt40.su黑料不打烊官网 | 男女免费视频网站 | 国产区网址 | 欧美成人免费在线视频 | 国产高清精品毛片基地 | 日韩在线中文 | 国产在线观看免费视频软件 | 91热国内精品永久免费观看 | 在线播放免费播放av片 | 国产精品手机在线观看 | 亚洲欧美另类专区 | 亚洲精国产一区二区三区 | 欧美8888| 久久久久久久久网站 | 亚洲天堂在线观看视频 | 亚洲精品久久99久久一区 | 日韩免费毛片全部不收费 | 97免费视频观看 | 国产在线观看成人 | 亚洲视频国产视频 | a毛片免费全部播放完整成 a毛片免费全部在线播放毛 | 亚洲狠狠ady亚洲精品大秀 | 久久青草免费线观最新 | 亚洲欧美一区二区三区在线观看 | 免费国产99久久久香蕉 | 久草视频免费播放 | 亚洲国产成人久久综合一区77 | 亚洲国产一区二区三区最新 |