springboot项目中引入mybatis plus

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: springboot项目中引入mybatis plus

公众号merlinsea


mybatis plus的介绍



  • 官⽹ https://baomidou.com/ 
  • 是⼀个 Mybatis 的增强⼯具,在 Mybatis 的基础上只做增强不做改变,为简化开发、提⾼效率⽽⽣。
  • 是怎么增强的呢?mybatis plus已经封装好了⼀些crud⽅法,我们不需要再像mybatis这样编写xml了,直接调⽤这些⽅法就⾏,类似JPA但优于JPA。

第一步:准备工作



1、pom文件中引入依赖【数据库依赖和mybatis plus依赖】


<!--引入数据库依赖--><dependency>   <groupId>mysql</groupId>   <artifactId>mysql-connector-java</artifactId></dependency>
<!--mybatis plus和springboot整合--><dependency>   <groupId>com.baomidou</groupId>   <artifactId>mybatis-plus-boot-starter</artifactId>   <version>3.4.1</version></dependency>


2、在application.properties中添加数据库连接信息


【核心是 :数据库连接驱动+地址+库名+账号+密码】


#==============================数据库相关配置========================================spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driverspring.datasource.url=jdbc:mysql://127.0.0.1:3306/shop?useUnicode=true&characterEncoding=utf-8&useSSL=falsespring.datasource.username =rootspring.datasource.password =mysqlroot
#配置mybatis plus打印sql日志mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl


3、启动类上添加 @MapperScan("org.example.shopmanager.mapper")


@SpringBootApplication//org.example.shopmanager.mapper用于存放数据库表的实体类的包@MapperScan("org.example.shopmanager.mapper")public class Application {    public static void main(String[] args) {        SpringApplication.run(Application.class, args);    }}


第二步、编写model-mapper-service-controller层



1、model层【对应数据库表的DO实体类】


   注释:通过配置文件引入了数据库shop,配合mybatis plus 的TableName(),得出BannerDO类映射到shop数据库下的banner表。


/**
 * @TableName 表示这个实体类映射数据库中的表名
 **/
@Data
@TableName("banner")//表名映射
public class BannerDO {
    private Integer id;
    private String img;
    private String url;
    private Integer weight;
}


2、mapper层【数据库访问层】


注释:

  • 接口,反射的方式调用,继承BaseMapper<BannerDO>,BaseMapper<BannerDO>中提供了很多数据库的增删改查方法,直接调用即可
  • mapper层可以不加@Mapper注解,因为启动类上加了@MapperScan("org.example.shopmanager.mapper")包扫描路径,如果启动类没加

mapper包扫描路径,则需要在mapper层添加@Mapper注解。


/**
 * BannerMapper需要继承BaseMapper<BannerDO>接口
 */
public interface BannerMapper extends BaseMapper<BannerDO> {
}


3、service层【业务逻辑层】


注释:通过java反射技术持有mapper数据库访问层的对象,然后执行业务操作。


/**
 * list列出所有的Banner轮播图
 **/
@Service
public class BannerServiceImpl implements BannerService {
    @Autowired
    private BannerMapper bannerMapper;
    //列出所有的BannerDO信息
    @Override
    public List<BannerDO> list() {
        return bannerMapper.selectList(new QueryWrapper<>());
    }
}


4、controller层【提供外界访问】


@RestController
@RequestMapping("api/v1/banner")
public class BannerController {
    @Autowired
    private BannerService bannerService;
    @RequestMapping("list")
    public JsonData list(){
        List<BannerDO> list = bannerService.list();
        return JsonData.buildSuccess(list);
    }
}


在外界浏览器中输入:http://localhost:8080/api/v1/banner/list 触发整个链路

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
14天前
|
Java 应用服务中间件
SpringBoot获取项目文件的绝对路径和相对路径
SpringBoot获取项目文件的绝对路径和相对路径
53 1
SpringBoot获取项目文件的绝对路径和相对路径
|
5天前
|
存储 运维 安全
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
通过以上措施,可以保证Spring Boot项目的配置管理在专业水准上,并且易于维护和管理,符合搜索引擎收录标准。
16 2
|
9天前
|
分布式计算 关系型数据库 MySQL
SpringBoot项目中mysql字段映射使用JSONObject和JSONArray类型
SpringBoot项目中mysql字段映射使用JSONObject和JSONArray类型 图像处理 光通信 分布式计算 算法语言 信息技术 计算机应用
30 8
|
1月前
|
JavaScript 前端开发 Java
解决跨域问题大集合:vue-cli项目 和 java/springboot(6种方式) 两端解决(完美解决)
这篇文章详细介绍了如何在前端Vue项目和后端Spring Boot项目中通过多种方式解决跨域问题。
335 1
解决跨域问题大集合:vue-cli项目 和 java/springboot(6种方式) 两端解决(完美解决)
|
16天前
|
JavaScript 前端开发 Java
SpringBoot项目的html页面使用axios进行get post请求
SpringBoot项目的html页面使用axios进行get post请求
40 2
|
16天前
|
前端开发 Java Spring
SpringBoot项目thymeleaf页面支持词条国际化切换
SpringBoot项目thymeleaf页面支持词条国际化切换
45 2
|
16天前
|
JSON Java 数据库
SpringBoot项目使用AOP及自定义注解保存操作日志
SpringBoot项目使用AOP及自定义注解保存操作日志
33 1
|
18天前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
|
1月前
|
Java 关系型数据库 MySQL
springboot学习五:springboot整合Mybatis 连接 mysql数据库
这篇文章是关于如何使用Spring Boot整合MyBatis来连接MySQL数据库,并进行基本的增删改查操作的教程。
66 0
springboot学习五:springboot整合Mybatis 连接 mysql数据库
|
14天前
|
JavaScript NoSQL Java
CC-ADMIN后台简介一个基于 Spring Boot 2.1.3 、SpringBootMybatis plus、JWT、Shiro、Redis、Vue quasar 的前后端分离的后台管理系统
CC-ADMIN后台简介一个基于 Spring Boot 2.1.3 、SpringBootMybatis plus、JWT、Shiro、Redis、Vue quasar 的前后端分离的后台管理系统
29 0