Mapper批量插入Oracle数据@InsertProvider注解
Mapper:
@Mapper
@OracleRepository
publicinterfaceOracleRadiusMapper{
@InsertProvider(type=OracleRadiusProvider.class,method="insertRadiusDataBatch")
intinsertRadiusDataBatch(@Param("list")ListacctInfoList);
}
//@Param("list")可以省略,在处理list的时候默认是list
Provider:
publicclassOracleRadiusProvider{
publicStringinsertRadiusDataBatch(Mapmap){
ListradiusAcctInfoList=(List)map.get("list");
StringBuildersb=newStringBuilder();
sb.append("INSERTALL");
StringinVal="INTORADIUS_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);
MessageFormatmf=newMessageFormat("("
+"#'{'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(inti=0;i
可以在数据库直接咨询这语句
insertall
intojack_20170206_aavalues('4014033')
intojack_20170206_aavalues('4065304')
intojack_20170206_aavalues('4088136')
intojack_20170206_aavalues('4092405')
select1fromdual;
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。如果你想了解更多相关内容请查看下面相关链接