MyBatis写入大量数据
1.resultType和resultMap的区别2.<association>关联的结果查询3.新增返回主键4.<foreach/>标签原理及用法5.返回List<Map<String, String>>键值对格式6.<collection>映射集合结果查询7.Mybatis的执行流程
8.MyBatis写入大量数据
9.MyBatis读取大量数据(流式读取)10.MyBatis Generator 自动生成工具(dao / mapping / model)11.MyBatisPlus怎么忽略映射字段12.MyBatisPlus AutoGenrator代码自动生成13.<resultMap/> 标签支持继承 extends14.SpringData JPA、Hibernate、Mybatis三者的区别15.Mybatis代码生成——velocity模板元素16.Mybatis代码生成——velocity模板语法1. Servcie
public void insertBatch(List<ExtendedAreaSucharge> extendedAreaSucharges) { int groupSize = 500; int groupNo = extendedAreaSucharges.size() / groupSize; if (extendedAreaSucharges.size() <= groupSize) { extendedAreaSuchargeDao.saveBatch(extendedAreaSucharges); } else { List<ExtendedAreaSucharge> subList = null; for (int i = 0; i < groupNo; i++) { subList = extendedAreaSucharges.subList(0, groupSize); extendedAreaSuchargeDao.saveBatch(subList); extendedAreaSucharges.subList(0, groupSize).clear(); } if (extendedAreaSucharges.size() > 0) { extendedAreaSuchargeDao.saveBatch(extendedAreaSucharges); } } }
2. Mapper.java
@Mapper public interface ExtendedAreaSuchargeDao { void saveBatch(@Param("extendedAreaSuchargeList") List<ExtendedAreaSucharge> extendedAreaSuchargeList); }
3. Mapper.xml
<sql id="keyBatch"> id,organization_id,version,calc_type,country_code,country_name,covert,kg_price,logistics_supplier_item_id,logistics_supplier_item_name,min_charge,no_zero_length,number_code,original_desc,post_code,post_code_end,post_code_start,post_code_type,prefix,post_code_end4char,post_code_start4char </sql> <sql id="valueBatch"> #{item.id},#{item.organizationId},#{item.version},#{item.calcType, typeHandler=org.apache.ibatis.type.EnumOrdinalTypeHandler},#{item.countryCode},#{item.countryName},#{item.covert},#{item.kgPrice},#{item.logisticsSupplierItemId},#{item.logisticsSupplierItemName},#{item.minCharge},#{item.noZeroLength},#{item.numberCode},#{item.originalDesc},#{item.postCode},#{item.postCodeEnd},#{item.postCodeStart},#{item.postCodeType, typeHandler=org.apache.ibatis.type.EnumOrdinalTypeHandler},#{item.prefix},#{item.postCodeEnd4Char},#{item.postCodeStart4Char} </sql> <insert id="saveBatch"> INSERT INTO surc_extended_area_sucharge (<include refid="keyBatch"/>) values <foreach collection="extendedAreaSuchargeList" item="item" index="index" separator=","> (<include refid="valueBatch"/>) </foreach> </insert>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了