java map 批量添加,【实践】mybatis批量插入map

需求

近期项目在测试上出了些问题,主要原因是我们项目中使用的Doris,然后线上和测试环境隔离,线上有数据,Doris没数据,需要将线上数据往测试环境弄一部分,所以写了个小程序导入了一下

思路

因为不止一张表,所以想着写个通用的代码,把表的部分传进来就可以同步,这样的话,就绝对不能用实体类来传输数据,所以用map,

用map还有一个问题是之前没写过map的批量插入,所以稍微查了查,这里做个记录,大家可以看一下

首先是从线上查询的部分,如下:

select * from ${tableName}

order by ${orderBy} desc

limit #{pageNo},#{pageSize}

然后是插入的部分,如下

insert into ${tableName}

(

`${key}`

)

values

(

#{value}

)

最后是程序的部分,如下:

public Result index(String tableName, String orderBy,Integer pageNo,Integer pageSize) {

List> resultList= dorisSearchMapper.search(tableName,orderBy,pageNo,pageSize);

Map map=resultList.get(0);

dorisTestMapper.insert(tableName,map,resultList);

return ResultBuilder.success();

}

注意

注意一下,dorisSearchMapper和dorisTestMapper是两个源

还有一点需要注意的地方,使用map接收返回值,有可能出现字段丢失的情况,一般出现在值为NULL的时候,此时请在mybatis的配置文件里面加上如下配置

以上,主要是自己做个记录,希望顺便帮到大家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值