java实现数据库批量插入
1、mysql批量插入写法
1 2 3 4 5 6 7 8 | <!-- 接收 信息 批量 插入数据 改状态--> <insert id= "insertAppMonitorResults" parameterType= "List" useGeneratedKeys= "false" > insert into app_monitor_result (id,monitor_id,app_id,abstracts,keywords,content,exception_type,file_path,media_type,create_time) values <foreach collection= "list" item= "MonitorResult" index= "index" separator= "," > (nextval( "seq_appmonitorresult" ),#{MonitorResult.monitorId}, #{MonitorResult.appId}, #{MonitorResult.abstracts}, #{MonitorResult.keywords}, #{MonitorResult.content}, #{MonitorResult.exceptionType}, #{MonitorResult.filePath},#{MonitorResult.mediaType},#{MonitorResult.createTime}) </foreach> </insert><br><br><br> |
ids太多的情况用此方法,因为in只支持1000以内的 <select id="selectBatchByIds" resultMap="TfMediaMaterialMap"> select <include refid="materialColSql"/> from tf_media_material a where a.status = 'E' and ( a.id in <foreach collection="ids" index="index" item="item" open="(" separator="," close=")"> <if test="(index % 999) == 998"> NULL ) OR a.id IN (</if>#{item} </foreach> ) </select>
2、ora批量插入数据
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <!-- 插入数据 --> <insert id= "insertViresLibrary" parameterType= "java.util.List" > INSERT INTO VIRES_LIBRARY (ID,BIG_TYPE,SMALL_TYPE,SHOW,DESCRIPTION,TYPE,DELETED,CREATE_TIME,CHARACTERISTIC_VALUE,USER_ID,REMARKS) SELECT SEQ_VIRES_LIBRARY.NEXTVAL ID, A.* FROM( <foreach collection= "list" item= "item" index= "index" separator= "UNION ALL" > SELECT #{item.bigType,jdbcType=INTEGER} BIG_TYPE , #{item.smallType,jdbcType=VARCHAR} SMALL_TYPE, #{item.show,jdbcType=VARCHAR} SHOW, #{item.description,jdbcType=VARCHAR} DESCRIPTION, #{item.type,jdbcType=INTEGER} TYPE, #{item.deleted,jdbcType=VARCHAR} DELETED, #{item.createTime} CREATE_TIME, #{item.characteristicValue,jdbcType=VARCHAR} CHARACTERISTIC_VALUE , #{item.userId,jdbcType=INTEGER} USER_ID , #{item.remarks,jdbcType=INTEGER} REMARKS FROM dual </foreach> )A </insert> |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程