IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> MyBatisPlus--MyBatisX插件 -> 正文阅读

[Java知识库]MyBatisPlus--MyBatisX插件

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

官网地址:https://baomidou.com/pages/ba5b24

1、安装

打开 IDEA,进入 File -> Settings -> Plugins -> Browse Repositories,输入 mybatisx 搜索并安装。如下图:
在这里插入图片描述

2、代码快速生成

快速创建新的SpringBoot工程,参考MyBatisPlus–入门案例_杼蛘的博客-CSDN博客

a>在IDEA中打开数据库,选择数据源,如下:
在这里插入图片描述
b>会显示如下界面,填入数据库相关信息:
在这里插入图片描述
c>点击测试连接,如下图:
在这里插入图片描述

若填入信息均正确,但是连接失败,可选择低版本MySQL,如下图:

在这里插入图片描述

d>点击确定,会显示如下图,会将该数据库所有的表显示出来:
在这里插入图片描述
e>选中任意一个表,右键->MybatisX-Generator,会弹出如下图:
在这里插入图片描述

描述说明
module path工程路径
base package基础包,所有生成的内容都会在该包下,一般自定义
encoding编码,保持默认
superClass父类
base path主程序路径
relative package实体类生成的包,一般命名为pojoentity
ignore field prefix忽略表中字段前缀,如t_id,生成实体属性时,将忽略前缀t_
ignore field suffix忽略表中字段后缀,如id_s,生成实体属性时,将忽略后缀_s
ignore table prefix忽略表前缀,如t_user,生成实体类时,将忽略前缀t_
ignore table suffix忽略表后缀,如user_s,生成实体类时,将忽略后缀_s

若IDEA版本无该右键选项,建议重启IDEA或升级一下

f>点击module path框,弹出如下,直接选择新创建工程:
在这里插入图片描述
g>填好相关内容,如下:
在这里插入图片描述
h>点击Next,如下图,并选择如下:
在这里插入图片描述
t>点击Finish,查看工程的项目结构,如下图:
在这里插入图片描述

3、快速生成CRUD

插入

打开自动生成的UserMapper接口,输入名称,如插入一条用户记录,将不为null的字段进行插入,如下:
在这里插入图片描述

名称必须规范,查询以select开头、插入用insert开头、修改用update开头、删除用delete开头

不过MyBatisX会有名称提示,一般直接选择,如敲inser,选择第一个:

在这里插入图片描述

光标位于名称后面,按alt+回车,如下图(选择第二个):
在这里插入图片描述
此时方法自动补全,如下:

int insertSelective(User user);

查看对应mapper映射文件,路径src/main/resources/mapper/UserMapper.xml,自动生成:

<insert id="insertSelective">
    insert into user
    <trim prefix="(" suffix=")" suffixOverrides=",">
        <if test="id != null">id,</if>
        <if test="name != null">name,</if>
        <if test="age != null">age,</if>
        <if test="email != null">email,</if>
    </trim>
    values
    <trim prefix="(" suffix=")" suffixOverrides=",">
        <if test="id != null">#{id,jdbcType=BIGINT},</if>
        <if test="name != null">#{name,jdbcType=VARCHAR},</if>
        <if test="age != null">#{age,jdbcType=INTEGER},</if>
        <if test="email != null">#{email,jdbcType=VARCHAR},</if>
    </trim>
</insert>

删除

若根据id和age组合条件来进行删除,如下:
在这里插入图片描述
光标位于名称后面,按alt+回车,选择[MyBatisX]Generate MyBatis Sql,自动补全方法如下:

int deleteByIdAndAge(@Param("id") Long id, @Param("age") Integer age);

查看对应mapper映射文件,路径src/main/resources/mapper/UserMapper.xml,自动生成:

<delete id="deleteByIdAndAge">
    delete
    from user
    where id = #{id,jdbcType=NUMERIC}
    AND age = #{age,jdbcType=NUMERIC}
</delete>

修改

若通过id修改age和email,如下:
在这里插入图片描述
光标位于名称后面,按alt+回车,选择[MyBatisX]Generate MyBatis Sql,自动补全方法如下:

int updateAgeAndEmailById(@Param("age") Integer age, @Param("email") String email, @Param("id") Long id);

查看对应mapper映射文件,路径src/main/resources/mapper/UserMapper.xml,自动生成:

<update id="updateAgeAndEmailById">
    update user
    set age   = #{age,jdbcType=NUMERIC},
    email = #{email,jdbcType=VARCHAR}
    where id = #{id,jdbcType=NUMERIC}
</update>

查询

若根据name来进行模糊查询,如下:
在这里插入图片描述
光标位于名称后面,按alt+回车,选择[MyBatisX]Generate MyBatis Sql,自动补全方法如下:

List<User> selectAllByNameLike(@Param("name") String name);

查看对应mapper映射文件,路径src/main/resources/mapper/UserMapper.xml,自动生成:

<resultMap id="BaseResultMap" type="com.aiw.mybatisx.pojo.User">
    <id property="id" column="id" jdbcType="BIGINT"/>
    <result property="name" column="name" jdbcType="VARCHAR"/>
    <result property="age" column="age" jdbcType="INTEGER"/>
    <result property="email" column="email" jdbcType="VARCHAR"/>
</resultMap>
<select id="selectAllByNameLike" resultMap="BaseResultMap">
    select
    <include refid="Base_Column_List"/>
    from user
    where
    name like #{name,jdbcType=VARCHAR}
</select>

其它查询自测,步骤是一样的

4、测试

添加测试方法,测试类路径为src/test/java/com/aiw/mybatisx/MybatisxApplicationTests.java

@SpringBootTest
class MybatisxApplicationTests {

    @Autowired(required = false)
    private UserMapper userMapper;

    @Test
    public void testMyBatisX() {
        userMapper.insertSelective(null);
        userMapper.deleteByIdAndAge(1L, 18);
        userMapper.updateAgeAndEmailById(20, "100@qq.com", 3L);
        userMapper.selectAllByNameLike("王");
    }

}
  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-04-22 18:22:34  更:2022-04-22 18:25:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 4:56:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码