MyBatisPlus —— 9、MyBatisX插件

目录

1、MyBatisX 插件安装

 2、MyBatisX代码快速生成

3、MyBatisPlusX 快速生成 CRUD

3.1、添加

3.2、删除

3.3、修改

3.4、查询

3.5、查询结果排序


MyBatis-Plus为我们提供了强大的mapper和service模板,能够大大的提高开发效率

但是在真正开发过程中,MyBatis-Plus并不能为我们解决所有问题,例如一些复杂的SQL,多表联查,我们就需要自己去编写代码和SQL语句,我们该如何快速的解决这个问题呢,这个时候可以使用MyBatisX插件

官网描述:MyBatisX一款基于 IDEA 的快速开发插件,为效率而生。

官方文档:MybatisX快速开发插件 | MyBatis-Plus

1、MyBatisX 插件安装

 2、MyBatisX代码快速生成

① 连接数据库后,选择需要生成的代码对应的表 

 ② 根据需要修改

3、MyBatisPlusX 快速生成 CRUD

3.1、添加

如下图, 输入 insertSelective 后,alt + 回车 选择 第二个选项,就会在 UserMapper.xml 自动生成 SQL 语句

 生成的 SQL 语句如下

    <insert id="insertSelective">
        insert into t_user
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="uid != null">uid,</if>
            <if test="userName != null">user_name,</if>
            <if test="age != null">age,</if>
            <if test="email != null">email,</if>
            <if test="sex != null">sex,</if>
            <if test="isDeleted != null">is_deleted,</if>
        </trim>
        values
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="uid != null">#{uid,jdbcType=BIGINT},</if>
            <if test="userName != null">#{userName,jdbcType=VARCHAR},</if>
            <if test="age != null">#{age,jdbcType=INTEGER},</if>
            <if test="email != null">#{email,jdbcType=VARCHAR},</if>
            <if test="sex != null">#{sex,jdbcType=INTEGER},</if>
            <if test="isDeleted != null">#{isDeleted,jdbcType=INTEGER},</if>
        </trim>
    </insert>

3.2、删除

输入 deleteBy 后,IDEA 自动补全便会自动提示表的字段

 若需要根据多个条件来删除,可以继续输入 and 

 输入完后,alt + 回车,选择下图选项

 生成的 SQL:

<delete id="deleteByUidAndUserName">
        delete
        from t_user
        where uid = #{uid,jdbcType=NUMERIC}
          AND user_name = #{userName,jdbcType=VARCHAR}
    </delete>

3.3、修改

 生成的 SQL:

    <update id="updateAgeAndSexByUid">
        update t_user
        set age = #{age,jdbcType=NUMERIC},
            sex = #{sex,jdbcType=NUMERIC}
        where uid = #{uid,jdbcType=NUMERIC}
    </update>

3.4、查询

 生成的 SQL:

    <select id="selectAgeAndSexByAgeBetween" resultMap="BaseResultMap">
        select age, sex
        from t_user
        where age between #{beginAge,jdbcType=INTEGER} and #{endAge,jdbcType=INTEGER}
    </select>

3.5、查询结果排序

    <select id="selectAllOrderByAgeDesc" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List"/>
        from t_user
        order by age desc
    </select>

猜你喜欢

转载自blog.csdn.net/Mr_zhangyj/article/details/124149877