温馨提示×

MyBatis 删除时如何使用条件

小樊
112
2024-07-12 03:07:28
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在MyBatis中,可以使用<where><if>标签来实现删除操作时的条件筛选。

例如,假设我们要删除名为"张三"且年龄大于18的用户信息,可以使用如下的SQL语句和MyBatis的方法来实现:

SQL语句:

DELETE FROM user_table
WHERE name = '张三'
AND age > 18;

MyBatis XML映射文件:

<delete id="deleteUser" parameterType="map">
    DELETE FROM user_table
    <where>
        <if test="name != null">
            AND name = #{name}
        </if>
        <if test="age != null">
            AND age > #{age}
        </if>
    </where>
</delete>

在Java代码中调用该MyBatis方法时,需要传入一个Map对象作为参数,该Map对象包含需要筛选的条件,比如:

Map<String, Object> params = new HashMap<>();
params.put("name", "张三");
params.put("age", 18);
int rowsAffected = sqlSession.delete("deleteUser", params);

这样就可以根据传入的条件动态生成对应的SQL语句,实现根据条件删除数据的功能。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:MyBatis 删除语句如何优化

0