zoukankan      html  css  js  c++  java
  • Mybatis中常用的SQL

    1.BaseResultMap

    <resultMap id="BaseResultMap" type="com.stylefeng.guns.common.persistence.model.LoginTest">
            <id column="id" property="id" />
            <result column="name" property="name" />
            <result column="password" property="password" />
    </resultMap>

    2.SQL

      <sql id="Base_Column_List">
        id, name, password
      </sql>

    3.确切的Select

    <select id="selectUser" resultMap="BaseResultMap" parameterType="String">
            SELECT <include refid="Base_Column_List" /> FROM login_test
            <where>
            <if test="name != ''">
                name=#{name}
            </if>
            </where>
        </select>

    4.模糊的Select

    <select id="selectUsers" resultMap="BaseResultMap" parameterType="String">
            SELECT <include refid="Base_Column_List" /> FROM login_test
            <where>
            <if test="name != ''">
                name like '%#{name}%'
            </if>
            </where>
        </select>

    具体可参考:SQL 模糊查询

    5.批量的Select(可用于数据库表的批量导出)

    <select id="selectBySomeid" parameterType="list" resultMap="BaseResultMap">
            SELECT
            <include refid="Base_Column_List"  />
            FROM login_test WHERE id in
            <foreach collection="Idlist" item="id" open="(" separator="," close=")">
                #{id}
            </foreach>
        </select>

    6.有选择性的update

    <update id="updateByPrimaryKeySelective" parameterType="com.mall.pojo.LoginTest">
        update login_test
        <set>
          <if test="name != null">
            username = #{username},
          </if>
          <if test="password != null">
            password = #{password},
          </if>
        </set>
        where id = #{id}
      </update>

    7.无选择性的uptate

    <update id="updateByPrimaryKey" parameterType="com.mall.pojo.LoginTest">
        update login_test
        set name = #{username},
          password = #{password},
        where id = #{id}
      </update>

    8.单个delete

    <delete id="deleteByid" parameterType="Integer">
            DELETE FROM login_test 
                    WHERE id =#{id}
        </delete>

    9.批量delete

    <delete id="deleteByid" parameterType="list">
            DELETE FROM login_test WHERE id in
            <foreach collection="Idlist" item="id" open="(" separator="," close=")">
             #{id}
            </foreach>
        </delete>

    10.有选择性的单个insert

    <insert id="insertSelective" parameterType="com.mall.pojo.LoginTest">
        insert into login_test
        <trim prefix="(" suffix=")" suffixOverrides=",">
          <if test="id != null">
            id,
          </if>
          <if test="username != null">
            username,
          </if>
          <if test="password != null">
            password,
          </if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
          <if test="id != null">
            #{id},
          </if>
          <if test="username != null">
            #{name},
          </if>
          <if test="password != null">
            #{password},
          </if>
        </trim>
      </insert>

    具体可参考:mybatis之特殊标签的使用

    11.无选择性的单个insert

    <insert id="insert" parameterType="com.mall.pojo.LoginTest">
        insert into mmall_user (id, username, password)
        values (#{id}, #{username}, #{password})
      </insert>

    12.批量插入

     <insert id="batchInsert" parameterType="list">
      insert into mmall_order_item (id, name, password)
        values 
        <foreach collection="List" item="item" index="index" separator=",">
        (
          #{item.id},#{item.name},#{item.password} )
        </foreach>
      </insert>

     13.多表更新

    <update id="updateObjectVersion" parameterType="com.huhu.Dto">
         UPDATE ${dataCode} set OBJECT_VERSION_NUMBER=#{objectVersionNumber}
            <where>
                <if test="codeId != null">
                    CODE_ID = #{codeId}
                </if>
                <if test="codeValueId != null">
                    AND CODE_VALUE_ID = #{codeValueId}
                </if>
                <if test="productId != null">
                    AND PRODUCT_ID = #{productId}
                </if>
                <if test="propertyId != null">
                    AND PROPERTY_ID = #{propertyId}
                </if>
                <if test="cmdId != null">
                    AND CMD_ID = #{cmdId}
                </if>
                <if test="paramId != null">
                    AND PARAM_ID = #{paramId}
                </if>
                <if test="templateId != null">
                    AND title = #{templateId}
                </if>
            </where>
        </update>

    不要难为自己,常用的就记录下来

                                                                                                                                                                                   -------记录点:白银

    ----------------------------------------------------------------------------------------------------------------------------------

    数据库中类型是datetime,在mybatis中是

     

     自定义插入某个表:

    <update id="updateObjectVersion" parameterType="com.xx.xx">
         UPDATE ${dataCode} set OBJECT_VERSION_NUMBER=#{objectVersionNumber}
            <where>
                <if test="codeId != null">
                    CODE_ID = #{codeId}
                </if>
                <if test="codeValueId != null">
                    AND CODE_VALUE_ID = #{codeValueId}
                </if>
                <if test="productId != null">
                    AND PRODUCT_ID = #{productId}
                </if>
                <if test="propertyId != null">
                    AND PROPERTY_ID = #{propertyId}
                </if>
                <if test="cmdId != null">
                    AND CMD_ID = #{cmdId}
                </if>
                <if test="paramId != null">
                    AND PARAM_ID = #{paramId}
                </if>
                <if test="templateId != null">
                    AND TEMPLATE_ID = #{templateId}
                </if>
            </where>
        </update>
  • 相关阅读:
    Linux内核使用的GNUC扩展
    linux常用命令--开发调试篇
    代码示例_poll的多路复用
    硬件_红外传感器
    硬件_霍尔感应器
    全志_功能引脚配置_sys_config.fex
    知识_嵌入式常用词汇
    代码示例_Input 按键驱动
    Vmware_安装_tools
    Ubunt_配置_start
  • 原文地址:https://www.cnblogs.com/huhu1203/p/7691797.html
Copyright © 2011-2022 走看看