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.mzph.cn/diannao/20542.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关键主题汇编

用户使用双屏扩展桌面类软件时,所遇到的主要疑难问题汇编 https://exesoft.blog.csdn.net/article/details/43116867 知识竞赛现场管理系统安装配置及使用疑难问题汇编 https://exesoft.blog.csdn.net/article/details/53457491 关于知识竞赛现场管理系统内置的第三方答题平…

【杂记-浅谈XSS跨站脚本攻击】

一、什么是XSS? XSS,Cross-site Scripting,跨站脚本攻击,是一种典型的Web程序漏洞利用攻击,攻击者利用Web程序对用户输入检查不足的漏洞将可执行恶意脚本注入网站或Web应用,当用户访问网页时触发恶意脚本的…

App Web前端怎么开发:深入解析与开发实践

App Web前端怎么开发:深入解析与开发实践 在当今数字化时代,Web前端作为连接用户与应用程序的桥梁,其重要性不言而喻。对于想要涉足App Web前端开发的开发者而言,理解并掌握开发流程、技术栈以及最佳实践是至关重要的。本文将分四…

milvus向量数据库

Milvus 是一个开源的向量数据库,用于管理、搜索和分析高维向量数据。它特别适用于处理像图像、视频、音频和文本等非结构化数据。以下是关于 Milvus 向量数据库的详细介绍和入门教程。 ### Milvus 简介 Milvus 的主要特性包括: 1. **高性能**&#xf…

权限修饰符和代码块

一.权限修饰符 1.权限修饰符:是用来控制一个成员能够被访问的范围的。 2.可以修饰成员变量,方法,构造方法,内部类。 3.例子: public class Student {priviate String name;prviate int age;} 二.权限修饰符的分类 有四种作用范围大小…

自然语言处理中的RNN、LSTM、TextCNN和Transformer比较

引言 在自然语言处理(NLP)领域,理解和应用各种模型架构是必不可少的。本文将介绍几种常见的深度学习模型架构:RNN(循环神经网络)、LSTM(长短期记忆网络)、TextCNN(文本卷…

ubuntu下搭建Supervisor

sudo apt update #安装 sudo apt install supervisor#启动 supervisord 服务: sudo systemctl start supervisor#关闭 supervisord 服务 sudo systemctl stop supervisor#重启 supervisord 服务 sudo systemctl restart supervisor#设置 supervisord 开机自启 sudo …

详解寄存器模型reg_model的auto_predict

什么是reg_model镜像值? DUT的配置寄存器的值是实际值,reg_model有镜像值、期望值的概念。 镜像值:存放我们认为此时DUT里寄存器的实际值。 期望值:存放我们期望DUT寄存器被赋予的值。 什么是auto predict? 那么怎么更新reg…

安卓ANR检测、分析、优化面面谈

前言 一个引发讨论的楔子,以下三种现象有什么区别: App停止运行App暂无响应App闪退 答案: 产生原因不同:停止运行是UNCheckExceptionError暂无响应是ANRDialog闪退是CheckExceptionError 本文讨论的主题是ANR的定义、分类、复现…

Debian常用命令详细介绍

1. apt-get update:更新软件源列表 apt-get update命令用于更新系统中可用软件包的包列表。在Linux和类Unix操作系统中,软件包管理器(如APT)维护着一个包含可用软件包信息的列表,通常保存在系统的软件源中。通过运行a…

Three.js 中文Typeface文件字体大全 | 如何利用Github获取中文Typeface文件

Three.js中文3D字体在线示例 TextGeometry 和 TextBufferGeometry 是用于生成3D文本的有效工具。 在使用这些工具时,我们需要指定一个包含字体信息的 JSON 文件,称为 typeface.json。 Github 搜索结果 通过在 GitHub 上搜索 TextBufferGeometry 的相…

内核注入DLL,支持注入PPL

这是我的个人项目,目前功能: 内核注入DLL到进程,支持注入PPL进程,可绕过任意代码卫士保护,签名校验。内核调用应用层任意函数,支持常见的调用约定。 后续可能会增加: 代码注入 Rookit和Anti-…

E. 矩阵第k大

看到这句话,其中任意两个数都不能在同一行或者同一列 经典的网络流/匈牙利 由于小白看不懂网络流 (其实是我不会) ,不妨就讲讲匈牙利 匈牙利算法 前置知识: 二分图 匈牙利(是个人)算法是二分…

Android基础-内存泄漏

在Android开发中,内存泄漏是一个常见且重要的问题,它不仅影响应用的性能,还可能导致应用崩溃。因此,分析和解决内存泄漏问题对于提升应用的稳定性和用户体验至关重要。下面将详细阐述Android如何分析和解决内存泄漏问题。 一、内…

纵向导航栏使用navbar-nav-scroll溢出截断问题

项目场景: 组件:Bootstrap-4.6.2、JQuery 3.7.1 测试浏览器:Firefox126.0.1、Microsoft Edge125.0.2535.67 IDE:eclipes2024-03.R 在编写CRM的工作台主页面时,由于该页面使用的是较旧的技术,所以打算使用…

ChatGPT-4o 有何特别之处?

文章目录 多模态输入,多模态输出之前的模型和现在模型对比 大家已经知道,OpenAI 在 GPT-4 发布一年多后终于推出了一个新模型。它仍然是 GPT-4 的一个变体,但具有前所未见的多模态功能。 有趣的是,它包括实时视频处理等强大功能&…

基础9 探索图形化编程的奥秘:从物联网到工业自动化

办公室内,明媚的阳光透过窗户洒落,为每张办公桌披上了一层金色的光辉。同事们各自忙碌着,键盘敲击声、文件翻页声和低声讨论交织在一起,营造出一种忙碌而有序的氛围。空气中氤氲着淡淡的咖啡香气和纸张的清新味道,令人…

ML307R OpenCPU MQTT使用

一、函数介绍 二、示例代码 三、代码下载地址 一、函数介绍 MQTT 相关函数可以在cm_mqtt.h里面查看,一下也是里面相关的函数接口 /*** @brief 销毁mqtt client* * @param [in] client mqtt client* @return 成功返回0,失败返回-1* * @details 清除并释放client,异…

fastjson 泛型转换问题(详解)

系列文章目录 附属文章一:fastjson TypeReference 泛型类型(详解) 文章目录 系列文章目录前言一、代码演示1. 不存在泛型转换2. 存在泛型转换3. 存在泛型集合转换 二、原因分析三、解决方案1. 方案1:重新执行泛型的 json 转换2. …

数据可视化每周挑战——中国高校数据分析

最近要高考了,这里祝大家金榜题名,旗开得胜。 这是数据集,如果有需要的,可以私信我。 import pandas as pd import numpy as np import matplotlib.pyplot as plt from pyecharts.charts import Line from pyecharts.charts impo…