[Mybatis]Mybatis常用操作

Posted zhengxl5566

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[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>

以上是关于[Mybatis]Mybatis常用操作的主要内容,如果未能解决你的问题,请参考以下文章

6.mybatis里面的动态sql是怎么设定的,常用标签有那些以及其

Mybatis动态sql技术

[Mybatis]Mybatis常用操作

MybatisPlus对比Mybatis有哪些优势?

markdown [mybatis参考]关于mybatis #mybatis的一些片段

mybatis常用操作数据库知识