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;总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。如果你想了解更多相关内容请查看下面相关链接