mybatis中批量插入的sql语法(Oracle)

mybatis中批量插入的sql语法(Oracle)


前言

在企业开发中比如开发一个后台管理系统,会存在批量插入菜单,或者批量插入用户的语法,如果使用Java代码进行for循环进行插入,不仅影响效率,代码看着也不够优雅


下面就展示一下实际开发中的真实案例,开发中与定位设备进行对接,定时会发送批量的坐标,所以需要进行批量插入到数据库中

一、使用步骤

1. 实体类展示

代码如下(示例):

@ApiModel(description = "指挥调度出所经纬表")
@TableName("CAD_OUT_PRISON_LON_LAT")
@Data
public class TCadOutPrisonLonLat  extends Model<TCadOutPrisonLonLat> {
    private BigDecimal id;

    private String longitude;

    private String latitude;

    private String address;

    private String spotDescribe;

    private String picFile;

    private String timeStamp;

    private String status;

    private BigDecimal manageId;

    private String initiator;
    //速度
    private String speed;
    //设备类型
    private String unitType;
    }

2.mapper.java代码

代码如下(示例):

int insertList(@Param("outList")List<TCadOutPrisonLonLat> outList);

3.mapper.xml代码

代码如下(示例):

insert all
<if test="outList!=null and outList.size()>0">
  <foreach collection="outList" item="rNos" separator='  '>
    into cad_out_prison_lon_lat VALUEs (#{rNos.id},#{rNos.longitude},#{rNos.latitude},#{rNos.address},#{rNos.spotDescribe},#{rNos.picFile},#{rNos.timeStamp},#{rNos.status},#{rNos.manageId},#{rNos.initiator})
  </foreach>
    select 1 from dual
</if>

4.调用

在service层将数据封装好,直接调用mapper层的代码即可实现批量插入

这里仅展示了oracle的批量插入语法,mysql也是类似的

总结

以上就是今天要讲的内容,如果觉得还可以,可以关注一下我,非常感谢,下面是我的公众号
我的微信公众号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

灰色天空灬灬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值