wordpress开启多站点,福田网络,8黄页网站建设,贵阳做网站费用#x1f600;前言 本篇博文是关于Spring Boot 整合MyBatis-Plus的#xff0c;希望你能够喜欢#x1f60a; #x1f3e0;个人主页#xff1a;晨犀主页 #x1f9d1;个人简介#xff1a;大家好#xff0c;我是晨犀#xff0c;希望我的文章可以帮助到大家#xff0c;您的… 前言 本篇博文是关于Spring Boot 整合MyBatis-Plus的希望你能够喜欢 个人主页晨犀主页 个人简介大家好我是晨犀希望我的文章可以帮助到大家您的满意是我的动力
欢迎大家这里是CSDN我总结知识的地方欢迎来到我的博客感谢大家的观看 如果文章有什么需要改进的地方还请大佬不吝赐教 先在此感谢啦 文章目录 Spring Boot 整合MyBatis-Plus官方文档基本介绍整合MyBatis-Plus 实例需求说明/图解代码实现启动项目完成测试 整合MyBatis-Plus 注意事项和细节TableName 作用MyBatis-Plus starter 到底引入了哪些依赖? 总结 Spring Boot 整合MyBatis-Plus
官方文档
MyBatis-Plus 官网https://baomidou.com 基本介绍
MyBatis-Plus 简称MP是一个MyBatis 的增强工具在MyBatis 的基础上只做增强不做改变为简化开发、提高效率而生。 强大的CRUD 操作内置通用Mapper、通用Service通过少量配置即可实现单表大部分CRUD 操作更有强大的条件构造器满足各类使用需求
整合MyBatis-Plus 实例
需求说明/图解 将Spring Boot 和MyBatis-Plus 整合 查询数据如图 代码实现
创建数据库和表
CREATE DATABASE springboot_mybatisplus
USE springboot_mybatisplus
CREATE TABLE monster (
id INT NOT NULL AUTO_INCREMENT,
age INT NOT NULL,
birthday DATE DEFAULT NULL,
email VARCHAR(255) DEFAULT NULL,
gender CHAR(1) DEFAULT NULL,
name VARCHAR(255) DEFAULT NULL,
salary DOUBLE NOT NULL,
PRIMARY KEY (id)
) CHARSETutf8
SELECT * FROM monster
INSERT INTO monster VALUES(NULL, 20, 2000-11-11, xzjsohu.com, 男, 蝎子精,15000.88);
INSERT INTO monster VALUES(NULL, 10, 2011-11-11, ytjsohu.com, 女, 玉兔精,18000.88);创建springboot_mybatisplus 项目 -pom.xml 引入必要的依赖 !--引入必要的依赖--dependencies!--引入web starter--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!--引入mysql驱动: 这里使用版本仲裁 8.0.26--dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactId/dependency!--引入配置处理器 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-configuration-processor/artifactId/dependency!--引入lombok--dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId/dependency!--引入test starter--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactId/dependency!--引入druid依赖--dependencygroupIdcom.alibaba/groupIdartifactIddruid/artifactIdversion1.1.17/version/dependency/dependencies修改pom.xml 引入MyBatis-Plus starter !--引入mybatis-plus starter--!-- https://mvnrepository.com/artifact/com.baomidou/mybatis-plus-boot-starter --dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactIdversion3.4.3/version/dependency创建resources/application.yml 配置数据源参数
server:port: 9090
spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/springboot_mybatisplus?useSSLtrueuseUnicodetruecharacterEncodingUTF-8username: rootpassword: 123456创建配置文件com/my/mybatisplus/config/DruidDataSourceConfig.java
Configuration
public class DruidDataSourceConfig {ConfigurationProperties(spring.datasource)Beanpublic DataSource dataSource() throws SQLException {DruidDataSource druidDataSource new DruidDataSource();return druidDataSource;}
}测试是否能正确启动项目, 注意观察mybatis-plus 是否引入成功 mybatis-plus 引入成功
创建com/my/mybatisplus/bean/Monster.java
Data
//说明:
//1. 如果这个类名Monster 和表名monster 一致可以映射上则TableName 可以省略
//2. 如果这个类名Monster 和表名不一致不能映射上则TableName 可以指定
TableName(monster)
public class Monster {private Integer id;private Integer age;JsonFormat(patternyyyy-MM-dd HH:mm:ss,timezoneGMT8)private Date birthday;private String email;private String name;private String gender;private Double salary;
}创建com/my/mybatisplus/mapper/MonsterMapper.java
/*
* 说明
* 1. BaseMapper 已经默认提供了很多crud 方法 可以直接用
* 2. 如果BaseMapper 提供的方法不满足需要可以再开发MonsterMapper.xml
*/
public interface MonsterMapper extends BaseMapperMonster {
}创建com/my/mybatisplus/service/MonsterService.java
/**
* 说明
* 1. IService 提供了很多crud 方法, 底层调用的是BaseMapper 的方法
* 2. 如果默认提供的方法不能满足需求再开发需要的方法即可
*/
public interface MonsterService extends IServiceMonster {
}创建com/my/mybatisplus/service/impl/MonsterServiceImpl.java
Service
public class MonsterServiceImpl extends ServiceImplMonsterMapper, Monster implements MonsterService {
}创建com/my/mybatisplus/controller/MonsterController.java
Controller
public class MonsterController {ResourceMonsterService monsterService;ResponseBodyGetMapping(/monster)public Monster getByMonsterId(RequestParam(id) Integer id) {return monsterService.getById(id);}ResponseBodyGetMapping(/list)public ListMonster listMonster() {return monsterService.list();}
}修改com/my/mybatisplus/Application.java 加入对Mapper 的扫描
SpringBootApplication
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}
}说明
1.如果在Mapper接口有Mapper注解就可以不用写MapperScan注解
2.直接对包进行扫描会简洁一点
启动项目完成测试
浏览器输入: http://localhost:10000/list http://localhost:10000/monster?id1 整合MyBatis-Plus 注意事项和细节
TableName 作用 说明
如果这个类名Monster 和表名monster 一致可以映射上则TableName 可以省略 如果这个类名Monster 和表名不一致不能映射上则可以通过TableName 指定。
MyBatis-Plus starter 到底引入了哪些依赖? 为了开发方便 可以安装MyBatisX 插件 参考文档https://baomidou.com/guide/mybatisx-idea-plugin.html 总结
如果类名 和表名不一致可以通过TableName 指定。如果在Mapper接口有Mapper注解就可以不用写MapperScan注解。
热门专栏推荐 Thymeleaf快速入门及其注意事项
Spring Initailizr–快速入门–SpringBoot的选择
带你了解SpringBoot支持的复杂参数–自定义对象参数-自动封装
Rest 优雅的url请求处理风格及注意事项 文章到这里就结束了如果有什么疑问的地方请指出诸大佬们一起来评论区一起讨论 希望能和诸大佬们一起努力今后我们一起观看感谢您的阅读 如果帮助到您不妨3连支持一下创造不易您们的支持是我的动力