当前位置: 首页 > news >正文

IDEA中,MybatisPlus整合Spring项目的基础用法

一、本文涉及的知识点【重点】

        IDEA中使用MybatisPlus生成代码,并使用。

        Spring整合了Mybatis框架后,开发变得方便了很多,然而,Mapper、Service和XML文件,在Spring开发中常常会重复地使用,每一次的创建、修改都很浪费时间,为了解决这个问题,MybatisPlus出现了。

        这个开发工具,可以理解为Mybatis的增强版,最重要的功能就是解决重复问题,快速开发。

二、IDEA的集成【下载2个插件】

        第一步,在IDEA左上角,依次点击

        File---》Setting---》Plugins。

        在搜索框里,搜索mybatis,选中小鸟。

        在新版的IDEA中,一般会自带Database Tools and SQL插件,如果没有,则在同一步骤里,搜索该插件并下载使用。

        做完这两步,IDEA的配置工作就已经完成了,接下来就是MybatisPlus的使用。

三、IDEA可视化使用MybatisPlus【操作流程】

       第一步,在右侧边栏打开“Database”【有些版本的IDEA,可能Database在其它地方,具体要自己查找。】【默认情况下,打开时应该是一片空白

        第二步,点击右上角的“+”号,选择“Data Source”,然后根据自己使用的数据库,选择合适的Support,比如我的是MySQL。

        【注:我这里的“com.mysql.cj……”是上次连接的名字,是随意的,与具体版本无关】

        第三步,选择合适的Driver,添加用户名、密码和数据库URL(如果是远程连接,同样添加对应的端口号、IP地址和指定数据库)

        以下图为例,一般IDEA会根据你的数据库版本,选择合适的Driver,如果没选对,手动选对就好【在下图蓝色的Driver处,选择合适的Driver】(这个Driver,如果仓库里没有,会自动下载到你的Maven仓库里,下次就能直接使用了)

        输入两个信息:用户名、密码。

        然后是2个信息:IP地址和端口号,在你电脑上的,默认是3306和127.0.0.1

        最后的信息,就是你要连接的数据库名称【一个MySQL中,会有许多数据库,你要指定对应的数据库】,我这里连接的是test

        一般至此,连接成功。

        接下来,会出现下图。

        第四步,一直打开详情,直到出现下图的表:

        随便选择一张表,右键,选择第一个Generator。【这就是代码生成器】

        第五步,输入相关信息。

        下图,单击module path,选择当前项目【这个选项的意思就是,你准备把代码,生成到哪一个项目里。】

        第六步,选择生成的格式。

        这里需要修改2个地方,在annotation里,选择Mybatis-Plus 3。在template里,选择mybatis-plus3,如图所示。

        第七步,完成。

四、IDEA生成代码的异常处理

        第一个:如果你的Spring Boot项目中,没有在pom.xml文件中,添加MybatisPlus的依赖,那么,插件生成的代码,会自带错误。【pom.xml文件必须添加MybatisPlus的依赖

        解释:IDEA集成的MybatisPlus,提供的代码生成功能,只是帮助你生成一份标准文件,没有引入依赖。你的项目依赖,仍然是从Maven仓库里拿,如果没引入依赖,项目就无法识别MybatisPlus的相关注解、类。

        第二个:虽然Mapper、XML和Service都生成好了,Controller也自己写好了,但是启动SpringBoot项目,却出现404Not Found错误。

        解决方案:这是由于生成的代码,很可能不在Spring项目的扫描包里,我们需要手动地添加2个注解。

        @MapperScan:指向你的mapper文件【mapper接口文件,不是XML文件】

        @ComponentScan:指向你的Service、Controller包即可。

http://www.lryc.cn/news/359913.html

相关文章:

  • 从不同角度看如何让大模型变得更聪明呢?
  • Buffer Pool运行机制理解
  • windows配置dns访问git , 加快访问速度保姆级教程
  • Solidity学习-投票合约示例
  • 前端Vue自定义支付密码输入框键盘与设置弹框组件的设计与实现
  • 【QEMU中文文档】1.1 支持的构建平台
  • 摄影后期照片编辑工具:LrC2024 for Mac/win 中文激活版
  • 通关!游戏设计之道Day20
  • 2024年上半年软件设计师试题及答案(回忆版)--选择题
  • 5.28.1 使用卷积神经网络检测乳腺癌
  • 【JavaScript脚本宇宙】JavaScript日期处理神器: 6款顶级库解析
  • C++基础编程100题-002 OpenJudge-1.1-04 输出保留3位小数的浮点数
  • Linux挂载硬盘
  • 用户购物性别模型标签(USG)之决策树模型
  • Mock的用法
  • 内网-win1
  • 中国电子学会(CEIT)2023年09月真题C语言软件编程等级考试三级(含详细解析答案)
  • golang线程池ants-四种使用方法
  • Flutter开发效率提升1000%,Flutter Quick教程之对组件进行拖拽与接收
  • 揭秘小程序商城的团购奇迹:独特模式引领盈利新纪元
  • ssm_mysql_高校自习室预约系统(源码)
  • AI自动化办公:批量将Excel表格英文内容翻译为中文
  • PPT 隐藏开启对象图层
  • PHP火狼大灌篮游戏源码微信+手机wap源码带控制
  • 推荐几首听无数遍也听不腻的好歌(1)
  • 【全开源】Java短剧系统微信小程序+H5+微信公众号+APP 源码
  • 基于Springboot驾校预约平台小程序的设计与实现(源码+数据库+文档)
  • python列表基本运算
  • Pytorch实用教程:pytorch中nn.Linear()用法详解 | 构建多层感知机 | nn.Module的作用 | nn.Sequential的作用
  • 如何利用unicloud阿里云云函数实现文件包括图片或文件上传,unicloud云函数写法一览