Mybatis的Mapper的多参数使用,list
程序员文章站
2022-05-09 22:32:27
...
Mapper中多参数查询,
批量更新
参数包括String和List类型时,Strig类型的为表名,日志表以月为单位生成,(还可以使用按月表分区功能优化性能)一般使用Map方式注入参数。例如调用类:public int batchUpdate(List<Logs> list,String num) { Map<String,Object> paramMap = new HashMap<String,Object>(); String tableName = "logs_t"+num; paramMap.put("tableName", tableName); paramMap.put("logslist", list); return mapper.batchUpdateLogs(paramMap); }
Mapper类:
int batchUpdateLogs(Map<String, Object> paramMap);
Mapper配置文件:
<insert id="batchUpdateWorkLog" parameterType="java.util.Map"> replace into ${tableName} ( <include refid="Base_Column_List" /> ) values <foreach collection="workLoglist" item="item" index="index" separator="," > (#{item.id,jdbcType=BIGINT}, #{item.ab,jdbcType=CHAR}, #{item.assid,jdbcType=VARCHAR} </foreach> </insert>
在调用类里面将参数以Object类型植入Map中,传入Mapper配置文件中拼成SQL。
replace into 可以代替update tables set xx = xxx
replace into 有个大坑,在配置有主从服务器的时候会导致从库的自增主键出错,详细内容以下地址:
http://blog.xupeng.me/2013/10/11/mysql-replace-into-trap/
推荐阅读
-
c#使用linq把多列的List转化为只有指定列的List
-
Spring Cloud如何使用Feign构造多参数的请求
-
mybatis xml文件中传入参数和if结合使用时要注意的地方
-
TKmybatis的使用,MyBatis的Mapper接口、Example方法
-
使用Pytorch在多GPU下保存和加载训练模型参数遇到的问题
-
mybatis Mapper的xml文件中resultType值的使用说明
-
MyBatis传入参数为List对象的实现
-
MyBatis-Plus条件构造器之condition参数的使用
-
使用mybatis的interceptor修改执行sql以及传入参数方式
-
springboot使用mybatis一对多的关联查询问题记录