springboot整合mybatisPlus超级详细

springboot整合mybatis-plus超级详细

  • 一、环境
  • 二、springboot整合myBatisPlus
    • 2.1新建
    • 2.2 添加Mybatis-plus和mysql依赖
    • 2.3 修改配置文件
    • 2.4 新建包和文件
    • 2.5 新建表
    • 2.6 创建实体类
    • 2.7 创建Mapper接口
    • 2.8 创建Service接口
    • 2.9 创建Service实现类
    • 2.10 增删改查

MyBatis-Plus,如其名所示,是MyBatis的一个功能增强工具。它旨在对MyBatis的核心功能进行拓展,而不会对其原有结构或行为做出任何修改。

一、环境

系统:windows 11
软件:IntelliJ IDEA 2022.2.3
maven:maven3.8.6
JDK:1.8.0_351
springboot:2.5.3
myBatisPlus:3.3.1

二、springboot整合myBatisPlus

2.1新建

设置项目名、groupID、artfactid、version
在这里插入图片描述

设置选择springboot版本和基础依赖
在这里插入图片描述

2.2 添加Mybatis-plus和mysql依赖

在pom.xml中引入依赖

<!--Mybatis-plus的依赖-->
<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.3.1</version>
</dependency><!--mysql的依赖-->
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.31</version>
</dependency>

2.3 修改配置文件

application.properties改为application.yml

# 端口号8080
server:port: 8080# 数据库名:mysql,用户名root,密码123456
spring:datasource:username: rootpassword: 123456url: jdbc:mysql://192.168.17.128:3306/test?characterEncoding=utf-8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=truedriver-class-name: com.mysql.cj.jdbc.Driver# mybatis-plus配置
mybatis-plus:# xml文件位置mapper-locations: classpath:mapper/*.xml

2.4 新建包和文件

/src/main/java/com.gsj.springbootmp下新建包
service,controller,mapper,entity

/src/main/resouces下设置mapping文件夹

如图:
在这里插入图片描述

2.5 新建表

新建数据库测试表:

CREATE TABLE `user` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(20) NOT NULL DEFAULT '' COMMENT '名称',`age` int(11) NOT NULL COMMENT '年龄',PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB COMMENT='用户表';

2.6 创建实体类

com/gsj/springbootmp/entity/User.java

package com.gsj.springbootmp.entity;import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.NoArgsConstructor;@Data
@NoArgsConstructor
@TableName("user")
public class User {@TableId(type = IdType.AUTO)private Integer id;@TableField("name")private String name;@TableField("age")private Integer age;}

2.7 创建Mapper接口

com/gsj/springbootmp/mapper/UserMapper.java

package com.gsj.springbootmp.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gsj.springbootmp.entity.User;
import org.apache.ibatis.annotations.Mapper;@Mapper
public interface UserMapper extends BaseMapper<User> {}

2.8 创建Service接口

com/gsj/springbootmp/service/UserService.java

package com.gsj.springbootmp.service;import com.baomidou.mybatisplus.extension.service.IService;
import com.gsj.springbootmp.entity.User;public interface UserService extends IService<User> {
}

2.9 创建Service实现类

com/gsj/springbootmp/service/impl/UserServiceImpl.java

package com.gsj.springbootmp.service.impl;import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gsj.springbootmp.entity.User;
import com.gsj.springbootmp.mapper.UserMapper;
import com.gsj.springbootmp.service.UserService;
import org.springframework.stereotype.Service;@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
}

2.10 增删改查

com/gsj/springbootmp/controller/UserController.java

package com.gsj.springbootmp.controller;import com.gsj.springbootmp.entity.User;
import com.gsj.springbootmp.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.List;@RestController
@RequestMapping("user")
public class UserController {@Autowiredprivate UserService userService;@RequestMapping("list")public List<User> list(){return userService.list();}@RequestMapping("getUser/{id}")public User getUser(@PathVariable String id){return userService.getById(id);}/*** 插入学生信息* @param User*/@RequestMapping("/insert")public void insertInfo(User User){User info=new User();info.setName(User.getName());info.setAge(User.getAge());userService.save(info);}/*** 根据id更新学生表信息* @param User*/@RequestMapping("/update")public void updateById(User User){User info=new User();info.setId(User.getId());info.setName(User.getName());info.setAge(User.getAge());userService.updateById(info);}/*** 根据id删除学生信息* @param id*/@RequestMapping("/delete")public void deleteById(String id){userService.removeById(id);}
}

我们可通过启动应用程序进行测试,以验证其能否顺利运作并准确从数据库提取数据。若一切正常,则表明已成功运用Spring Boot与MyBatis-Plus进行了有效集成。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/696836.shtml

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

相关文章

C# Onnx 使用onnxruntime部署实时视频帧插值

目录 介绍 效果 模型信息 项目 代码 下载 C# Onnx 使用onnxruntime部署实时视频帧插值 介绍 github地址&#xff1a;https://github.com/google-research/frame-interpolation FILM: Frame Interpolation for Large Motion, In ECCV 2022. The official Tensorflow 2…

四.QT5工具安装和环境变量的配置

1.以管理员身份运行安装包 2.登录qt账号&#xff0c;点击【next】 3.选中同意 4.选择安装目录&#xff0c;注意不能有中文和空格 5.勾选 64位 mingw。点击【next】&#xff0c;等待安装完成 6.配置环境变量

为什么很多人选用QT开发,有哪些应用实例?

在软件开发领域&#xff0c;Qt框架作为一种跨平台的C应用程序开发框架&#xff0c;近年来受到越来越多开发者的青睐。这主要得益于其卓越的跨平台性能、丰富的功能库、开发效率以及社区支持。以下将通过详实的分析&#xff0c;从不同角度探讨为什么很多人改用QT开发&#xff0c…

力扣645. 错误的集合(排序,哈希表)

Problem: 645. 错误的集合 文章目录 题目描述思路复杂度Code 题目描述 思路 1.排序 1.对nums数组按从小到大的顺序排序; 2.遍历数组时若判断两个相邻的元素则找到重复元素&#xff1b; 3.记录一个整形变量prev一次置换当前位置元素并与其作差&#xff0c;若差等于2着说明缺失的…

Mysql索引操作

1、索引语法 2、慢查询日志 慢查询日志记录了所有执行时间超过指定参数&#xff08; long_query_time &#xff0c;单位&#xff1a;秒&#xff0c;默认 10 秒&#xff09;的所有 SQL 语句的日志。 MySQL 的慢查询日志默认没有开启&#xff0c;我们可以查看一下系统变量 slo…

【2024软件测试面试必会技能】Appium自动化(5):元素定位工具

常用元素定位工具使用 uiautomatorviewer定位工具&#xff1a; 元素定位主要用来获取元素信息&#xff0c;获取元素信息后才能用appium提供的相关API去识别和操作元素。 谷歌在AndroidSDK中&#xff0c;提供了元素定位工具uiautomatorviewer&#xff0c;该工具可在android-s…

三opencv源码解压及环境变量配置

1.双击opencv-3.4.6-vc14-vc15.exe 2.选择解压的路径&#xff0c;点击【extract】 3.设计环境变量

从零学习Linux操作系统第二十七部分 shell脚本中的变量

一、什么是变量 变量的定义 定义本身 变量就是内存一片区域的地址 变量存在的意义 命令无法操作一直变化的目标 用一串固定的字符来表示不固定的目标可以解决此问题 二、变量的类型及命名规范 环境级别 export A1 在环境关闭后变量失效 退出后 关闭 用户级别&#xff…

《初阶数据结构》尾声

目录 前言&#xff1a; 《快速排序&#xff08;非递归&#xff09;》: 《归并排序》&#xff1a; 《归并排序&#xff08;非递归&#xff09;》&#xff1a; 《计数排序》&#xff1a; 对于快速排序的优化&#xff1a; 分析&#xff1a; 总结&#xff1a; 前言&#xff1a…

新疆营盘古城及古墓群安防舱体实施方案

3 总体布局 3.1设计原则 3.1.1执行有效的国家标准、国家军用标准和行业标准&#xff1b; 3.1.2满足指标要求&#xff1b; 3.1.3采用通用化、模块化设计&#xff0c;提高设备可维修性&#xff1b; 3.1.4采用人机工程学知识进行设计&#xff0c;充分考虑安全性。 3.2 总体…

51单片机学习(3)-----独立按键控制LED的亮灭状态

前言&#xff1a;感谢您的关注哦&#xff0c;我会持续更新编程相关知识&#xff0c;愿您在这里有所收获。如果有任何问题&#xff0c;欢迎沟通交流&#xff01;期待与您在学习编程的道路上共同进步了。 目录 一. 器件介绍及实验原理 1.独立按键 &#xff08;1&#xff09;独…

外包干了3个月,技术退步明显

先说一下自己的情况&#xff0c;本科生&#xff0c;19年通过校招进入广州某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…

Linux之用户和用户组的深入了解

目录 一、简介 1.1、用户&#xff1a; 1.2、用户组 1.3、UID和GID 1.3、用户账户分类 查看用户类别 超级用户root(0) 程序用户(1~499) 普通用户(500~65535) 二、用户 2.1、添加新的用户账号&#xff1a;useradd 2.2、删除账号&#xff1a;userdel 有-r与没有-r区别…

运维07:堡垒机

什么是跳板机 跳板机就是一台服务器而已&#xff0c;运维人员在使用管理服务器的时候&#xff0c;必须先连接上跳板机&#xff0c;然后才能去操控内网中的服务器&#xff0c;才能登录到目标设备上进行维护和操作 开发小张 ---> 登录跳板机 ---> 再登录开发服务器 测试…

贷齐乐系统最新版SQL注入(无需登录绕过WAF可union select跨表查询)

一、环境 已上传资源&#xff08;daiqile&#xff09; 二、代码解释 1.1Request 不管get请求还是post请求都可以接收到 1.2过滤的还挺多 1.3第二个WAF把数据分为两个了一个Key一个value&#xff0c;全是explode的功劳 1.4submit是if进入的前提 很明显走进来了 1.5那我们在这…

学习JAVA的第三天(基础)

目录 流程控制语句 顺序结构 分支结构 循环结构 分类&#xff1a; 练习 跳转控制语句 练习 数组 数组介绍 数组的定义和静态初始化 数组定义 数组的静态初始化 数组元素访问 数组遍历 数组动态初始化 JAVA内存分配 流程控制语句 顺序结构 是Java程序默认的执行流程…

UIKit 在 UICollectionView 中拖放交换 Cell 视图的极简实现

概览 UIKit 中的 UICollectionView 视图是我们显示多列集合数据的不二选择&#xff0c;而丰富多彩的交互操作更是我们选择 UICollectionView 视图的另一个重要原因。 如上图所示&#xff1a;我们实现了在 UICollectionView 中拖放交换任意两个 Cell 子视图的功能&#xff0c;这…

Zabbix 远程监控主机

目录 1、安装 Zabbix 安装客户端 服务端测试通讯 Web页面添加主机 2、监控 Nginx 自定义脚本监控 Nginx web配置台 3、监控 MySQL 配置模版文件 配置Web界面 1、安装 Zabbix node-12 作为zabbix的被监控端&#xff0c;提供mysql服务器&#xff0c;配置zabbix监控node…

jquery写组件滑动人机验证组件

jquery组件&#xff0c;虽然 jquery 语法古老&#xff0c;但是写好了用起来真的很爽啊&#xff0c;本文用滑动人机验证给大家做个详细教程&#xff08;直接复制代码就可以用噢o(*&#xffe3;▽&#xffe3;*)ブ&#xff09; 第一步 先看下组件本身 component.js (function() {…

Nginx网络服务三-----(三方模块和内置变量)

1.验证模块 需要输入用户名和密码 我们要用htpasswd这个命令&#xff0c;先安装一下httpd 生成文件和用户 修改文件 访问页面 为什么找不到页面&#xff1f; 对应的路径下&#xff0c;没有这个文件 去创建文件 去虚拟机浏览器查看 有的页面不想被别人看到&#xff0c;可以做…