• Mybatis动态SQL


    1.添加数据设置(Newsxml配置)

    <insert id="doCreate" parameterType="News" keyProperty="nid" keyColumn="nid" useGeneratedKeys="true"><!--添加数据-->
            INSERT INTO news VALUES
            <trim prefix="(" suffix=")" suffixOverrides=",">,</trim>
        </insert>

    2.if语句添加配置

     <insert id="doCreate" parameterType="News" keyProperty="nid" keyColumn="nid" useGeneratedKeys="true">
            INSERT INTO news(title,content) VALUES
            <trim prefix="(" suffix=")" suffixOverrides=",">
                <if test="title == null">
                    'NOTitle',
                </if>
                <if test="title != null">
                    #{title},
                </if>
                <if test="content == null">
                    'NOContent',
                </if>
                <if test="content != null">
                    #{content},
                </if>
            </trim>
        </insert>

    3.if判断分页查询

    <select id="findSplit" resultType="News" parameterType="java.util.Map">
            SELECT nid,title,content FROM news
            <if test="column != null and keyword != null and column != &quot;&quot; and keyword != &quot;&quot;">
                WHERE ${column} LIKE #{keyword}
            </if>
            LIMIT #{start},#{lineSize} ;
        </select>
        <select id="getAllCount" resultType="java.lang.Long" parameterType="java.util.Map">
            SELECT COUNT(*) FROM news
            <if test="column != null and keyword != null and column != &quot;&quot; and keyword != &quot;&quot;">
                WHERE ${column} LIKE #{keyword}
            </if>
        </select>

    4.多次判断,if只能执行一次判断

        <select id="findAllCondition" resultType="News" parameterType="java.util.Map">
            SELECT nid,title FROM news
            <where>
                <choose>
                    <when test="nid != null and title !=null and content !=null">
                        nid=#{nid} AND title=#{title} AND content=#{content}
                    </when>
                    <when test="nid != null and title !=null and content==null">
                        nid=#{nid} AND title=#{title}
                    </when>
                    <when test="nid != null and title ==null and content!=null">
                        nid=#{nid} AND content=#{content}
                    </when>
                </choose>
            </where>
        </select>

    5.set动态更新

        <update id="doEdit" parameterType="News">
            UPDATE news
            <set>
                <if test="title != null and title != &quot;&quot;">
                    title=#{title},
                </if>
                <if test="content != null and content != &quot;&quot;">
                    content=#{content},
                </if>
            </set>
            <where>
              <if test="nid != null and nid != 0">
                  nid=#{nid}
              </if>
            </where>
        </update>

    6.指定范围数据查询foreach

    <select id="findByIds" resultType="News" parameterType="java.lang.Long">
            <include refid="selectBase"/>
            <where>
                nid IN
                <foreach collection="array" open="(" close=")" separator="," item="ele">
                  #{ele}
                </foreach>
            </where>
        </select>

    7.批量删除foreach

    <delete id="doRemoveByIds" parameterType="java.lang.Long">
            DELETE FROM news
            <where>
                nid IN
                <foreach collection="array" open="(" close=")" separator="," item="ele">
                    #{ele}
                </foreach>
            </where>
        </delete>
  • 相关阅读:
    家庭内网向导帮助文档
    Nginx 容器连接 php rc-fpm 容器编译 php
    samba 容器实现共享
    编程思想(POP,OOP,SOA,AOP)
    OOP(面向对象编程)
    MySql5.6 Window超详细安装教程
    JAVA设计模式:状态模式
    Mysql设置创建时间字段和更新时间字段自动获取时间,填充时间
    eclipse里新建work set,将项目分组放在不同文件夹
    错误记录
  • 原文地址:https://www.cnblogs.com/fcitx/p/11087487.html
Copyright © 2020-2023  润新知