gradle7.6.1+springboot3.2.4+mybatis-plus搭建工程

SpringBoot整合MyBatis-Plus实战与优化指南 数据持久层是Java企业级应用开发的核心组件,MyBatis作为主流ORM框架,通过MyBatis-Plus增强工具可显著提升开发效率。本文从数据库连接池配置、SQL日志优化等基础概念切入,深入解析SpringBoot与MyBatis-Plus的整合原理,重点演示如何通过HikariCP实现高性能连接池管理,并基于Lombok简化实体类开发。针对企业级应用场景,详细说明多数据源配置、批量操作优化等工程实践方案,特别适用于需要快速构建RESTful API的微服务架构。通过合理使用MyBatis-Plus的W 阅读详情

目录

一、参考文章

二、创建工程

三、 引入mybatis-plus依赖

四、编写实体类 

 五、编写mapper接口类

六、编写Controller类

七、启动类增加@MapperScan

八、配置数据库连接

 九、创建数据库及表

 十、启动测试

十一、自定义Mapper需增改以下文件

 十二、gradle完整配置

 十三、junitTest


一、参考文章
https://baomidou.com/pages/226c21/
二、创建工程

三、 引入mybatis-plus依赖
implementation 'com.baomidou:mybatis-plus-spring-boot3-starter:3.5.5'
四、编写实体类 
@Data  
@TableName("user_info")  
public class User {  
	@TableId(value = "user_id",type = IdType.AUTO)  
	private Integer userId;  
	  
	@TableField("user_name")  
	private String userName;  
	  
	private int sex;  
}
 五、编写mapper接口类
public interface UserMapper extends BaseMapper<User> {  
  
}
六、编写Controller类
@RestController  
@RequestMapping("/user")  
public class UserController {  
	@Autowired  
	private UserMapper userMapper;  
	  
	@GetMapping("/getAll")  
	public List<User> getAll() {  
		return userMapper.selectList(null);  
	}  
}
七、启动类增加@MapperScan
@SpringBootApplication  
@MapperScan("com.fafa.mapper")  
public class MybatisPlusDemoApplication {  
  
	public static void main(String[] args) {  
		SpringApplication.run(MybatisPlusDemoApplication.class, args);  
	}  
}
八、配置数据库连接
spring:  
datasource:  
driver-class-name: com.mysql.cj.jdbc.Driver  
url: jdbc:mysql://localhost:3306/db_user?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC  
username: root  
password: 123456
 九、创建数据库及表
create database db_user;  
use db_user;  
  
SET NAMES utf8mb4;  
SET FOREIGN_KEY_CHECKS = 0;  
  
-- ----------------------------  
-- Table structure for user_info  
-- ----------------------------  
DROP TABLE IF EXISTS `user_info`;  
CREATE TABLE `user_info` (  
`user_id` bigint NOT NULL AUTO_INCREMENT COMMENT '用户ID',  
`user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '用户名',  
`sex` tinyint NULL DEFAULT 0 COMMENT '性别 0 未知 1女 2男',  
PRIMARY KEY (`user_id`) USING BTREE  
) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户表' ROW_FORMAT = Dynamic;  
  
SET FOREIGN_KEY_CHECKS = 1;
 十、启动测试
浏览器访问:http://localhost:8080/user/getAll
十一、自定义Mapper需增改以下文件
  • UserMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>  
<!DOCTYPE mapper  
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"  
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">  
	<mapper namespace="com.fafa.mapper.UserMapper">  
		<resultMap type="User" id="userResult">  
		<result property="userId" column="user_id"/>  
		<result property="userName" column="user_name"/>  
		<result property="sex" column="sex"/>  
	</resultMap>  
	  
	<sql id="selectUserVo">  
		select * from user_info  
	</sql>  
	  
	<select id="selectUserList" parameterType="User" resultMap="userResult">  
		<include refid="selectUserVo"/>  
		<where>  
			<if test="userName != null ">and user_name like concat('%', #{userName}, '%')</if>  
		</where>  
		order by user_id desc  
	</select>  
</mapper>
  • UserMapper.java 

@Mapper  
public interface UserMapper extends BaseMapper<User> {  
	/**  
	* 倒序查询用户信息  
	* @param user  
	* @return  
	*/  
	List<User> selectUserList(User user);  
}
  • IUserService.java 

public interface IUserService extends IService<User> {  
	/**  
	* 倒序查询用户信息  
	* @param user  
	* @return  
	*/  
	List<User> selectUserList(User user);  
}
  •  UserService.java

@Service  
public class UserService extends ServiceImpl<UserMapper, User> implements IUserService {  
	@Autowired  
	private UserMapper userMapper;  
	
	@Override  
	public List<User> selectUserList(User user) {  
		return userMapper.selectUserList(user);  
	}  
}
  •  UserController.java

@RestController  
@RequestMapping("/user")  
public class UserController {  
	@Autowired  
	private IUserService userService;  
	  
	@GetMapping("/getAll")  
	public List<User> getAll() {  
		return userService.selectUserList(null);  
	}  
}
  •  application.yml

spring:  
	datasource:  
		driver-class-name: com.mysql.cj.jdbc.Driver  
		url: jdbc:mysql://localhost:3306/db_user?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC  
		username: root  
		password: 123456  
mybatis-plus:  
	type-aliases-package: com.fafa.entity  
	mapper-locations: classpath:/mappers/**/*.xml
 十二、gradle完整配置
plugins {  
	id 'java'  
	id 'org.springframework.boot' version '3.2.4'  
	id 'io.spring.dependency-management' version '1.1.4'  
}  
  
group = 'com.fafa'  
version = '0.0.1-SNAPSHOT'  
  
java {  
	sourceCompatibility = '17'  
}  
  
configurations {  
	compileOnly {  
		extendsFrom annotationProcessor  
	}  
}  
  
ext{  
	MAVEN_REPO_RELEASE_URL = System.getenv('MAVEN_REPO_RELEASE_URL')  
	MAVEN_REPO_SNAPSHOT_URL = System.getenv('MAVEN_REPO_SNAPSHOT_URL')  
	MAVEN_DEPLOY_USER = System.getenv('MAVEN_DEPLOY_USER')  
	MAVEN_DEPLOY_PASSWORD = System.getenv('MAVEN_DEPLOY_PASSWORD')  
}  
  
repositories {  
	maven { url "https://maven.aliyun.com/nexus/content/groups/public/" }  
	maven {  
		url 'https://maven.aliyun.com/repository/public'  
	}  
	maven { url "https://repo.spring.io/milestone" }  
	maven { url "https://plugins.gradle.org/m2/" }  
	maven {  
		credentials {  
		username MAVEN_DEPLOY_USER  
		password MAVEN_DEPLOY_PASSWORD  
	}  
	url MAVEN_REPO_RELEASE_URL  
	}  
	maven {  
		credentials {  
		username MAVEN_DEPLOY_USER  
		password MAVEN_DEPLOY_PASSWORD  
	}  
	url MAVEN_REPO_SNAPSHOT_URL  
	}  
	mavenCentral()  
}  
  
dependencies {  
	implementation 'org.springframework.boot:spring-boot-starter-web'  
	implementation 'com.baomidou:mybatis-plus-spring-boot3-starter:3.5.5'  
	compileOnly 'org.projectlombok:lombok'  
	runtimeOnly 'com.mysql:mysql-connector-j'  
	annotationProcessor 'org.projectlombok:lombok'  
	  
	testImplementation 'org.springframework.boot:spring-boot-starter-test'  
}  
  
tasks.named('test') {  
	useJUnitPlatform()  
}
 十三、junitTest
@SpringBootTest  
class MybatisPlusDemoApplicationTests {  
	@Autowired  
	private UserMapper userMapper;  
	  
	@Autowired  
	private IUserService uservice;  
	  
	@Test  
	void contextLoads() {  
		List<User> list = userMapper.selectList(null);  
		Assert.isTrue(5 == list.size(), "查询成功");  
		list.forEach(System.out::println);  
	}  
	  
	@Test  
	void selectUserAll(){  
		List<User> list =uservice.selectUserList(null);  
		Assert.isTrue(5 == list.size(), "查询成功");  
		list.forEach(System.out::println);  
	}  
	  
	@Test  
	void add() {  
		User user = new User();  
		user.setUserName("张三");  
		user.setSex(0);  
		int count = userMapper.insert(user);  
		Assert.isTrue(count != 0, "添加数据成功");  
	}  
}

SpringBoot整合MyBatis-Plus完整配置指南 ORM框架作为Java开发中数据持久层的核心技术,通过对象关系映射简化数据库操作。MyBatis-Plus在MyBatis基础上进一步增强,提供自动CRUD、分页等高效功能。与SpringBoot整合后,开发者可以快速构建数据访问层,显著提升开发效率。本文基于SpringBoot 3.1.5和MyBatis-Plus 3.5.3.1版本,详细解析依赖配置、数据源设置、分页插件等核心模块的实现方案,并针对多数据源、自动填充等高级功能提供生产级配置示例,帮助开发者规避版本兼容性问题。 阅读详情

相关推荐

SpringBoot整合MyBatis-Plus实现高效CRUD开发

ORM框架是Java企业开发中连接数据库与对象模型的关键技术,MyBatis作为半自动化ORM工具,通过XML/注解配置实现SQL与代码解耦。MyBatis-Plus在其基础上提供了开箱即用的增强功能,包括通用CRUD操作、Lambda条件构造器和代码生成器等,能减少60%的SQL编写工作。结合SpringBoot的自动配置特性,开发者可以快速搭建数据访问层,特别适合需要快速迭代的中小型项目。这种技术组合通过简化配置、提供智能代码生成,显著提升了开发效率,广泛应用于电商、ERP等需要频繁数据库操作的系统。

ithome 410

【mybatisplus使用示例】

本篇博客将介绍MyBatis-Plus的使用,包括基本配置、实体类映射、通用CRUD操作、条件查询、分页查询等内容

weixin_39439156的博客 1142

SpringBoot整合MyBatis-Plus实战指南

数据持久层是Java企业级开发的核心组件,MyBatis作为主流ORM框架通过XML/注解方式实现SQL映射。MyBatis-Plus在其基础上进行增强,提供自动化CRUD、代码生成等特性,与SpringBoot整合后可减少70%的样板代码。这种组合特别适合需要快速迭代的业务系统,通过LambdaQueryWrapper等DSL写法能保持类型安全的查询构建。实际项目中常见于用户管理、订单系统等需要高频数据库操作的场景,配合分页插件、多数据源支持等企业级特性,能有效提升开发效率并降低维护成本。

weixin_30882895的博客 339

spring cloud、gradle、父子项目、微服务框架搭建---引入MyBatis-Plus(四)

spring cloud、gradle、父子项目、微服务框架搭建---引入MyBatis-Plus

预立数据科技 1244

MyBatis-Plus与MyBatis-Flex深度对比与选型指南

在Java持久层开发中,MyBatis作为主流ORM框架,其增强工具能显著提升开发效率。MyBatis-Plus和MyBatis-Flex作为两大增强方案,前者以Spring生态整合见长,后者以轻量灵活著称。从技术原理看,两者都通过封装通用CRUD操作减少样板代码,但实现方式各异:MyBatis-Plus采用传统Wrapper模式,而MyBatis-Flex创新性地使用链式API。性能测试显示,在处理10万级数据时,MyBatis-Flex查询速度快23%,内存占用低15%。对于电商等高并发场景,这种性能优

428

MIUI升级后录音神秘消失?别慌!手把手教你从Android/data目录找回宝贵录音文件

本文详细解析了MIUI升级后录音文件消失的原因,并提供了从Android/data目录找回录音文件的实用指南。通过技术分析和步骤演示,帮助小米手机用户解决录音文件丢失问题,同时分享预防措施和高级恢复方案,确保重要录音数据安全。

weixin_30696427的博客 281

使用springboot+gradle+mybatis-plus搭建项目xml扫描问题

使用springboot+gradle+mybatis-plus搭建项目xml扫描问题

oneoo的博客 1571

人工智能AI在软件测试和质量效能中的实际应用

人工智能在软件测试中应用,介绍chatGPT在测试中的应用,还有多个AI驱动的测试工具。

lindafang72的博客 1万+

orm框架 MyBatis-Plus(Spring boot + Gradle)安装与入门【2022年】

orm 框架Mybatis-plus入门学习记录

与恶龙缠斗良久终成恶龙 5559

Ubuntu 24.04 LTS安装WPS Office 2025冬季版全攻略(附字体缺失解决方案)

本文提供了在Ubuntu 24.04 LTS系统上安装WPS Office 2025冬季版的完整指南,详细对比了dpkg、Snap和GUI三种安装方式的优劣。针对安装后常见的中文字体缺失、思源黑体粗细异常等核心问题,给出了从原理分析到手动补充字体库、修改字体配置文件的深度解决方案,确保WPS Office在Linux环境下获得最佳使用体验。

weixin_29284201的博客 619

别再只用GPS了!用Android手机传感器实现室内步行轨迹记录(避坑指南)

本文详细介绍了如何利用Android手机传感器(如加速度计、陀螺仪和磁力计)实现室内步行轨迹记录,克服GPS在室内的局限性。通过传感器数据采集、步态检测、航向估计和轨迹绘制等步骤,结合避坑指南和优化技巧,帮助开发者高效构建室内定位应用。

weixin_26821003的博客 274

SpringBoot + kotlin/java + Mybatis-Plus +Sqlite + Gradle多模块项目

SpringBoot + kotlin/java + Mybatis-Plus +Sqlite + Gradle多模块项目

之城的专栏 2843

LabVIew串口收发的一些问题

LabView串口收发实验总结

weixin_45508826的博客 2065

gradle7.6.1+springboot3.2.4创建微服务工程

【代码】gradle7.6.1+springboot3.2.4创建微服务工程。

无 716

高速PCB差分对布线仿真实战案例

差分对布线是高速PCB设计的关键环节,直接影响信号完整性与EMI性能。本文结合实际项目,详解等长控制、阻抗匹配、间距优化等核心技巧,并通过仿真工具验证眼图、串扰和时序裕量,助力工程师规避常见高速pcb设计陷阱。

weixin_29092787的博客 349

手把手教你用SlowFast训练自定义手势识别数据集(附FFmpeg抽帧技巧)

本文提供了一份基于SlowFast架构训练自定义手势识别数据集的完整实战指南。文章重点剖析了数据准备的核心挑战,详细讲解了利用FFmpeg进行高、低帧率抽帧的技巧,并介绍了构建半自动标注流水线、生成符合SlowFast要求的AVA格式数据集文件的具体方法。最后,针对手势识别场景,给出了关键的模型训练配置与调优建议,帮助开发者高效完成从数据到模型的全流程。

s1t2u3的博客 909

Gradle + SpringBoot + Mybatis-plus + 代码生成器 + 多数据源配置

gradle整合(全)1. 新建 gradle 项目(有网络情况下)1.1 新建 SpringBoot 项目1.2 运行项目2. gradle 整合 mybatis-plus2.1 前言2.2 添加依赖2.3 配置文件2.4 基本配置完成3. 代码生成器3.1 添加依赖3.2 配置文件3.3 运行代码生成器3.4 启动类添加注解3.5 运行 Application4. 简单CRUD 测试4.1 简单查询测试4.2 略5. 多数据源配置 1. 新建 gradle 项目(有网络情况下) 1.1 新建 Spri

小天儿の博客 3597

电子结构设计(EMD)十年知识总结

客官,你的面相是做结构设计的奇才~1. 材料选择【一出手的0.1s就败了】2. 钣金件设计【折来折去有啥难】3. 塑胶件设计【看着好复杂】4. 型材件设计【凭啥不让我设计】5. 电子结构(PCBA)设计【静电肿么要我背锅】6. 包装设计【要的就是金玉其外,败絮其中】7. 外观(工业)设计【好不好看,谁说了算】8. 标签设计【】9. 标准件选择【一个螺丝难倒英雄汉/提起螺丝,英雄气短】10. 计算仿...

wfeng86的博客 1569

SpringBoot3.2.0整合MyBatis-plus的相关问题及处理方法

SpringBoot3.2.0整合MyBatis-plus的相关问题及处理方法

yuanjinshenglife的专栏 1741

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

MyBatis-Plus在Spring Boot 3中的Gradle配置指南

还在为繁琐的MyBatis配置而烦恼吗?还在手动编写重复的CRUD代码吗?MyBatis-Plus作为MyBatis的增强工具包,与Spring Boot 3的结合将为你的开发效率带来革命性提升。本文将为你详细解析如何在Spring Boot 3项目中通过Gradle完美配置MyBatis-Plus,让你彻底告别配置烦恼,专注于业务逻辑开发。 通过本文,你将获得: - ✅ Spring Boot...

gitblog_01410的博客 513

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Spring boot用gradle整合mybatis+mybatis-plus

Spring boot用gradle整合mybatis 我先展示下我的目录结构 如图:是我的目录结构,下面的文件位置都是根据这个目录结构所写 一.引入依赖 //配置mybatis 数据源 compile(&quot;org.mybatis.spring.boot:mybatis-spring-boot-starter:1.3.0&quot;) 二.配置application.yml文件 spring...

qq_35537722的博客 9583

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

【Gradle】通过 idea 快速搭建 springboot gradle项目

【Gradle】通过 idea 快速搭建 springboot gradle项目 最终效果 版本配置文件 dependency.gradle /** * =================================================================================================================== * --...

清欢渡的博客 320

SpringBoot实战入门:3小时构建整合MyBatis-Plus与Redis的Web服务

SpringBoot作为Java后端开发的主流框架,其核心原理在于通过自动配置和约定大于配置的理念,极大简化了传统Spring应用的初始搭建和开发过程。这项技术通过内嵌Web服务器和Starter依赖,实现了项目的快速启动与组件集成,显著提升了开发效率。其技术价值在于为开发者提供了一套标准化的、开箱即用的企业级应用开发方案,尤其适用于快速构建微服务、RESTful API以及数据驱动的Web应用。本文聚焦于**SpringBoot实战入门**,通过一个具体的**项目创建与初始化**案例,串联MyBatis-

weixin_33778544的博客 353

每周小记——SpringBoot&Mybatis-Plus

本文概述SpringBoot实践及整合MyBatis-Plus与Swagger,涵盖基础配置(环境搭建、YAML、多环境部署、热部署),框架整合(Swagger3自动API文档、MyBatis-Plus简化CRUD/逻辑删除/乐观锁/代码生成器/多数据源),高级特性(YAML封装、函数式接口、ActiveRecord模式),实用技巧(自定义Banner、分页/自定义SQL、枚举处理、Service封装),以代码示例驱动企业级开发。

weixin_57655687的博客 2392

Spring Boot+Gradle+ MyBatis-Plus3.x搭建企业级的后台分离框架

点击上方“Java基基”,选择“设为星标”做积极的人,而不是积极废人!源码精品专栏原创 | Java 2020超神之路,很肝~中文详细注释的开源项目RPC 框架 Dubbo 源码解析...

weixin_44421461的博客 503
上一篇: 小程序扫码登录pc后台
下一篇: gradle7.6.1+springboot3.2.4创建微服务工程
cherishSpring
博客等级 码龄11年 134粉丝 172原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值