MySQL数据库批量操作语句

本文介绍了MyBatis框架中的几种高级用法,包括模糊查询的实现方式、如何使用MyBatis进行集合的遍历查询、批量插入及批量更新操作的具体实现。这些技术对于提高数据库操作效率和简化代码复杂度具有重要意义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、模糊查询:

<if test="goodName != null and goodName != ''">
                AND bcp. company_name LIKE 
                    <if test="dbName == 'oracle'">'%'||#{commName}||'%'</if>
                    <if test="dbName == 'mssql'">'%'+#{commName}+'%'</if>
                    <if test="dbName == 'mysql'">concat('%',#{commName},'%')</if>
</if>

concat可以将两个字符串连接起来,形成一个单一的字符串。concat 等同于字符串连接符 ||, concat有 to_char的作用,就是把其他类型转成varchar类型的。

2、Mybatis中遍历集合:
一个字段同时要对应多个值进行查询,实体类中传过来一个list集合,要遍历出集合中的数据来进行查询,显示查询的结果。

<if test="selectedGood != null">
                AND a.good_type_id in 
                <foreach item="item" index="index" collection="selectedGood" open="(" separator="," close=")">  
                    #{item}
                </foreach> 
            </if>

mybatis批量操作

3、批量插入:

    <insert id="insertOCCGoods" parameterType="java.util.List">     
        <![CDATA[
    INSERT INTO order_c_city_goods ( 
        id,
        create_by,
        create_date,
        update_by,
        update_date,
        remarks,
        del_flag,
        order_c_good_id,
        good_base_id,
        good_lin_shou_price,
        good_lin_shou_sums,
        good_lin_shou_prices,
        good_comm_prices,
        is_miao,
        good_appraisal
        ) VALUES ]]>
    <foreach collection="list" item="item" index="index" separator=",">
        (
        #{item.id},
        #{item.createBy},
        #{item.createDate},
        #{item.updateBy},
        #{item.updateDate},
        #{item.remarks},
        #{item.delFlag},
        #{item.orderCGoodId},
        #{item.goodBaseId},
        #{item.goodLinShouPrice},
        #{item.goodLinShouSums},
        #{item.goodLinShouPrices},
        #{item.goodCommPrices},
        #{item.isMiao},
        #{item.goodAppraisal}
        )
       </foreach>
</insert>

4、批量更新:

<update id="upateBusShopCars" parameterType="java.util.List">
        update bus_shop_car
        <trim prefix="set" suffixOverrides=",">
            <trim prefix="update_date =case" suffix="end,">
                <foreach collection="list" item="i" index="index">
                    <if test="i.updateDate!=null">
                        when id=#{i.id} then #{i.updateDate}
                    </if>
                </foreach>
            </trim>
            <trim prefix=" del_flag =case" suffix="end,">
                <foreach collection="list" item="i" index="index">
                    <if test="i.delFlag!=null">
                        when id=#{i.id} then #{i.delFlag}
                    </if>
                </foreach>
            </trim>         
        </trim>
        where
        <foreach collection="list" separator="or" item="i" index="index">
            id=#{i.id}
        </foreach>
    </update>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值