• [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>
    
  • 相关阅读:
    饿汉模式单例模板
    QT高级01----自定义日志工具
    QT基础01----添加应用程序图标
    QML博客转载
    QML---自定义滚动条
    Mycat的做分库正确步骤
    Spring Cloud sentinel使用总结
    SpringCloud之Gateway原理解析(二)--调用过程
    SpringCloud之Gateway原理解析(一)--准备
    SpringCloud之Feign注解@EnableFeignClients
  • 原文地址:https://www.cnblogs.com/zhengxl5566/p/12220848.html
Copyright © 2020-2023  润新知