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

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

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;

總結

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 午夜亚洲精品久久久久久 | 男人把大ji巴放进男人免费视频 | 高h生子双性美人受 | 美日韩一区二区三区 | 肉浦团在线观看 | 女人麻豆国产香蕉久久精品 | 日本午夜大片免费观看视频 | 成人在线视频国产 | 69欧美另类xxxxx高清 | 热久久免费视频 | 边摸边吃奶边做爽gif动态图 | 手机在线免费观看日本推理片 | 91视频一区 | 成人1234| 欧美人禽杂交狂配无删完整 | 太紧太深了受不了黑人 | 亚洲高清免费在线观看 | 天天综合天天综合 | 成年人在线视频免费观看 | 99免费精品 | 好姑娘在线完整版视频 | 日韩毛片大全免费高清 | 91噜噜噜噜色 | 日本在线精品视频 | 欧美亚洲另类在线观看 | 鬼惨笑小说 | 97伊人久久精品亚洲午夜 | 无限在线观看免费入口 | 嫩草在线观看视频 | 国产精品成人免费 | 成人欧美一区二区三区 | 果冻传媒天美传媒在线小视频播放 | 国产精品久久久久久福利 | 无码AV熟妇素人内射V在线 | 好大好硬快点好爽公 | 成人小视频在线观看免费 | 果冻传媒天美传媒网址入口 | 午夜国产精品影院在线观看 | 久久国产视频网 | blacked亚裔videoshd| 国产三级精品久久三级国专区 |