Oracle与Mybatis-批量插入有clob与序列的数据

6 篇文章 0 订阅
1 篇文章 0 订阅

        开发中,在有clob的批量插入过程中,用Java中的String类型通过mybatis进行插入,并且同时有序列。当前试下来,只有一种方式。就只有begin end有用。

begin

   XXX;

   XXX;

end;
 

        接下来讲下详细过程。 

Mybatis

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.test.OracleTableMapper">
    <resultMap id="BaseResultMap" type="com.test.OracleTable">
        <result column="id" jdbcType="BIGINT" property="id"/>
        <result column="code" jdbcType="VARCHAR" property="code"/>
        <result column="data" jdbcType="CLOB" property="data"/>
    </resultMap>
    <insert id="batchInsert" parameterType="map">
        begin
        <foreach collection="list" item="item" separator=" ; ">
            insert into oracle_table (id, code, data)
            values
            (
            oracle_table_seq.nextval, #{item.code,jdbcType=VARCHAR}, #{item.data,jdbcType=CLOB}
            )
        </foreach>
        ;end;
    </insert>
</mapper>

 实体类

@Data
public class OracleTable{

    /**
     * 主键
     */
    private Long id;
    
     /**
     * 编码
     */
    private String code;

    /**
     * clob数据
     */
    private String data; 
}

create table oracle_table(

        id number primary key not null,

        code varchar2(32),

        data clob

)

序列

create sequence oracle_table_seq            

        minvalue 1            

        maxvalue 9999999999999999999999999999            

        start with 1            

        increment by 1          

        nocache            

        order

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值