java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > mybatis动态sql新增与更新

mybatis动态sql之新增与更新方式

作者:某猿蚊常叮

这篇文章主要介绍了mybatis动态sql之新增与更新方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

mybatis动态sql新增与更新

记录一个简单的mybatis动态sql例子

新增

<?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="org.ruiskey.mapper.UserMapper">
    <insert id="save">
        insert into user
            <trim prefix="(" suffix=")" suffixOverrides=",">
                <if test="id != null and id != ''">
                    id,
                </if>
                <if test="username != null and username != ''">
                    username,
                </if>
                <if test="password != null and password != ''">
                    password,
                </if>
                <if test="nickname != null and nickname != ''">
                    nickname,
                </if>
                <if test="email != null and email != ''">
                    email,
                </if>
                <if test="phone != null and phone != ''">
                    phone,
                </if>
                <if test="address != null and address != ''">
                    address
                </if>
            </trim>
            <trim prefix="values (" suffix=")" suffixOverrides=",">
                <if test="id != null and id != ''">
                    #{id},
                </if>
                <if test="username != null and username != ''">
                    #{username},
                </if>
                <if test="password != null and password != ''">
                    #{password},
                </if>
                <if test="nickname != null and nickname != ''">
                    #{nickname},
                </if>
                <if test="email != null and email != ''">
                    #{email},
                </if>
                <if test="phone != null and phone != ''">
                    #{phone},
                </if>
                <if test="address != null and address != ''">
                    #{address}
                </if>
            </trim>
    </insert>
</mapper>

更新

<update id="update">
    update user
    <set>
        <if test="username != null and username != ''">
            username = #{username}
        </if>
        <if test="password != null and password != ''">
            password = #{password}
        </if>
        <if test="nickname != null and nickname != ''">
            nickname = #{nickname}
        </if>
        <if test="email != null and email != ''">
            email = #{email}
        </if>
        <if test="phone != null and phone != ''">
            phone = #{phone}
        </if>
        <if test="address != null and address != ''">
            address = #{address}
        </if>
    </set>
    <where>
        id = #{id}
    </where>
</update>

mybatis动态SQL增删改查

我们在对数据库进行增删改查的时候,很多时候我们并不确定我们要进行传入的参数的个数,种类以及是否为空。

此时我们就需要用到mybatis动态sql来对数据库进行灵活的交互。

添加数据

insert 对应的映射文件中配置:

通过传入数组参数删除

deleteArray对应的映射文件中配置:

通过传入List集合参数进行删除

deleteList 对应的映射文件中配置:

更新数据

update 对应的映射文件中配置:

神奇的是:

查找数据

findAll对应的映射文件配置

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文