Mybatis复制记录直接插入

实际开发中,我们可能会遇到需要备份某些记录,为了方便备份,一条SQL就可以搞定。

举例:

1、根据旧id复制一份记录,新旧id传入

mybatis配置如下:

<insert id="copyModelInfoByid" parameterType="java.lang.String">
        INSERT INTO `ldp_analy_model_info` 
        SELECT
            #{newid},model_type,model_classfication,model_name,model_trade_type,
            model_business_type,audit_matters,model_purpose,input_data,analysis_steps,
            regulation,model_sql_type,model_sql,'1',other_model,
            resource_flag,dept_code,org_code,col_num,create_by,create_time
        FROM
            ldp_analy_model_info
        WHERE
            id = #{oldid}
    </insert>

mapper配置如下:

int copyModelInfoByid(@Param("oldid")String id, @Param("newid")String newid);

2、复制的新记录id需要UUID生成的方法

mybatis配置如下:

<insert id="copyModelParamByModelid" parameterType="java.lang.String">
        INSERT INTO ldp_analy_model_param 
        SELECT
            replace(uuid(),'-',''),#{newModelid},param_name,param_desc,param_type,value_pattren,default_value,
            default_value_view,allow_null,value_list,sql_text,display_col_map,tree_col_map,
            sort_by,display_flag,create_by,create_time
        FROM
            ldp_analy_model_param
        WHERE
            model_id = #{oldmodelid}
    </insert>

mapper配置如下:

int copyModelParamByModelid(@Param("oldmodelid")String modelid, @Param("newModelid")String newModelid);

注:支持复制一条记录和多条记录

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值