一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Mapper批量插入Oracle數據@InsertProvider注解

Mapper批量插入Oracle數據@InsertProvider注解

2019-06-20 15:44qq_41875147 Java教程

今天小編就為大家分享一篇關于Mapper批量插入Oracle數據@InsertProvider注解,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

Mapper:

@Mapper

@OracleRepository

public interface OracleRadiusMapper{
@InsertProvider(type = OracleRadiusProvider.class , method = "insertRadiusDataBatch")
int insertRadiusDataBatch(@Param("list")List<AcctInfo> acctInfoList);
}

//@Param("list") 可以省略,在處理list的時候默認是list

Provider:

public class OracleRadiusProvider {
public String insertRadiusDataBatch(Map map) {
List<RadiusAcctInfo> radiusAcctInfoList = (List<RadiusAcctInfo>) map.get("list");
StringBuilder sb = new StringBuilder();
sb.append(" INSERT ALL ");
String inVal=" INTO RADIUS_ACCT (RADACCT_ID,ACCT_SESSIONID,ACCT_UNIQUEID,USER_NAME,GROUP_NAME,REALM,NAS_IP_ADDRESS,NAS_PORT_ID,NAS_PORT_TYPE,ACCT_START_TIME,ACCT_UPDATE_TIME,ACCT_STOP_TIME,ACCT_INTERVAL,"
+ "ACCT_SESSION_TIME,ACCT_AUTHENTIC,CONNECTINFO_START,CONNECTINFO_STOP,ACCT_INPUTOCTETS,ACCT_OUTPUTOCTETS,CALLED_STATION_ID,CALLING_STATION_ID,ACCT_TERMINATE_CAUSE,SERVICE_TYPE,"
+ "FRAMED_PROTOCOL,FRAMED_IP_ADDRESS) VALUES";
sb.append(inVal);
MessageFormat mf = new MessageFormat("("
+ "#'{'list[{0}].radacctId,jdbcType=NUMERIC}, #'{'list[{0}].acctSessionid,jdbcType=VARCHAR}, #'{'list[{0}].acctUniqueid,jdbcType=VARCHAR}, #'{'list[{0}].userName,jdbcType=VARCHAR}"
+ ", #'{'list[{0}].groupName,jdbcType=VARCHAR}, #'{'list[{0}].realm,jdbcType=VARCHAR}, #'{'list[{0}].nasIpAddress,jdbcType=VARCHAR}, #'{'list[{0}].nasPortId,jdbcType=VARCHAR}, #'{'list[{0}].nasPortType,jdbcType=VARCHAR}"
+ ", #'{'list[{0}].acctStartTime,jdbcType=DATE}, #'{'list[{0}].acctUpdateTime,jdbcType=DATE}, #'{'list[{0}].acctStopTime,jdbcType=DATE}, #'{'list[{0}].acctInterval,jdbcType=NUMERIC}, #'{'list[{0}].acctSessionTime,jdbcType=NUMERIC}"
+ ", #'{'list[{0}].acctAuthentic,jdbcType=VARCHAR}, #'{'list[{0}].connectinfoStart,jdbcType=VARCHAR}, #'{'list[{0}].connectinfoStop,jdbcType=VARCHAR}, #'{'list[{0}].acctInputoctets,jdbcType=NUMERIC}, #'{'list[{0}].acctOutputoctets,jdbcType=NUMERIC}"
+ ", #'{'list[{0}].calledStationId,jdbcType=VARCHAR}, #'{'list[{0}].callingStationId,jdbcType=VARCHAR}, #'{'list[{0}].acctTerminateCause,jdbcType=VARCHAR}, #'{'list[{0}].setviceType,jdbcType=VARCHAR}, #'{'list[{0}].framedProtocol,jdbcType=VARCHAR}"
+ ", #'{'list[{0}].framedIpAddress,jdbcType=VARCHAR} )");
for (int i = 0; i < radiusAcctInfoList.size(); i++) {
sb.append(mf.format(new Object[] { i+"" }));
if (i < radiusAcctInfoList.size() - 1) {
sb.append(inVal);
}
}
sb.append(" select 1 from dual");//記得加這句
return sb.toString();
}
}

可以在數據庫直接咨詢這語句

insert all 
 into jack_20170206_aa values('4014033')
 into jack_20170206_aa values('4065304')
 into jack_20170206_aa values('4088136')
 into jack_20170206_aa values('4092405')
select 1 from dual;

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對服務器之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: bbbbbbaaaaaa毛片 | 日韩欧美一区二区三区四区 | 亚洲精品片| 日本护士撒尿xxxx欧美 | 青青草伊人久久 | 欧美视频一 | 手机国产乱子伦精品视频 | 国产成人免费片在线观看 | 特黄特色大片免费高清视频 | 精品日韩欧美一区二区三区 | 12一14性xxxxx国外 | 国产成人成人一区二区 | 我年轻漂亮的继坶2中字在线播放 | 桥本有菜ssni-677在线观看 | 为什么丈夫插我我却喜欢被打着插 | 国产裸舞福利资源在线视频 | 果冻传媒i91media免费 | 精品美女国产互换人妻 | 高h生子双性美人受 | 6080午夜| 无限在线观看免费入口 | 玩高中女同桌肉色短丝袜脚文 | 国产亚洲精品久久yy5099 | 欧美日韩亚洲一区二区三区在线观看 | 日韩精品视频免费 | 天天综合天天影视色香欲俱全 | 免费370理论片中文字幕 | tubehdxx丝袜正片 | 欧美日韩一区二区三区免费 | 秋霞黄色大片 | 久久re亚洲在线视频 | 美女大鸡鸡 | 日本三级免费网站 | 日产乱码卡1卡2卡三卡四在线 | 果冻传媒 天美 麻豆 | 日本又黄又裸一级大黄裸片 | 99久9在线视频 | 污文啊好棒棒啊好了 | 亚洲天堂网在线观看视频 | 韩国黄色网址 | 99这里精品 |