zoukankan      html  css  js  c++  java
  • [Mybatis]Mybatis常用操作

    Mybatis是目前国内比较流行的ORM框架,特点是可以写灵活的SQL语句,非常适合中小企业的面向数据库开发。
    本文总结自己开发过程中常用的Mybatis操作。

    一、插入操作

    • 主键自增插入单条

      <insert id="insert" parameterType="UserInfoDO" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
              insert into user_info
              (
              `user_name`,
              `hashed_password`,
              `phone_number`
              )
              values
              (
              #{userName},
              #{hashedPassword},
              #{phoneNumber}
              )
          </insert>
      
      <insert id="insert" parameterType="UserInfoDO">
              <!-- mysql数据库order="AFTER",oracle数据库order="BEFORE"-->
              <selectKey keyColumn="id" keyProperty="id" order="AFTER" resultType="java.lang.Integer">
                  SELECT LAST_INSERT_ID()
              </selectKey>
              insert into user_info
              (
              `id`,
              `user_name`,
              `hashed_password`,
              `phone_number`
              )
              values
              (
              #{id},
              #{userName},
              #{hashedPassword},
              #{phoneNumber}
              )
          </insert>
      
    • 主键自增批量插入

          <insert id="insertList" parameterType="UserInfoDO" useGeneratedKeys="true" keyProperty="id">
              insert into user_info
              (
              `user_name`,
              `hashed_password`,
              `phone_number`
              )
              values
              <foreach collection="list" item="userInfo" separator=",">
                  (
                  #{userInfo.userName},
                  #{userInfo.hashedPassword},
                  #{userInfo.phoneNumber}
                  )
              </foreach>
          </insert>
      

    二、更新操作

        <update id="updateUser" parameterType="UserInfoDO" keyProperty="id">
            update user_info
            <set>
                <if test="userName != null">user_name = #{userName},</if>
                <if test="hashedPassword != null">hashed_password = #{hashedPassword},</if>
                <if test="phoneNumber != null">phone_number = #{phoneNumber},</if>
            </set>
            <!--当所有if都失效的时候也不会报sql语法错误-->
            id = #{id}
            where id = #{id}
        </update>
    
  • 相关阅读:
    Docker5之Deploy your app
    Docker4之Stack
    Docker3之Swarm
    Docker之Swarm
    Docker2之Service
    Docker1之Container
    Nuget EPPlus的使用
    Nuget CsvHelper 的使用
    excel
    Chrome上的扩展工具
  • 原文地址:https://www.cnblogs.com/zhengxl5566/p/12220848.html
Copyright © 2011-2022 走看看