原创 【ReactJs+springBoot项目——租房】第2章:mysql+ Mybatis+搭建后台服务系统+前后端整合实现新增房源

使 用 Docker 安 装 MySQL
Mybatis插件
MybatisPlus的入门
搭建后台服务系统
实现新增房源服务
前后端进行整合,实现新增房源功能

1、使用Docker安装MySQL

好客租房项目的底层数据库采用MySQL,而MySQL采用衍生版本Percona,并且采用docker容器化的方式进行部 署。

1.1、什么是percona?
Percona 为 MySQL 数据库服务器进行了改进,在功能和性能上较 MySQL 有着很显著的提升。该版本提升了在高负载情况下的 InnoDB 的性能、为 DBA 提供一些非常有用的性能诊断工具;另外有更多的参数和命令来控制服务器行为。
Percona Server 只包含 MySQL 的服务器版,并没有提供相应对 MySQL 的 Connector 和 GUI 工具进行改进。
Percona Server 使用了一些 google-mysql-tools, Proven Scaling, Open Query 对 MySQL 进行改造。官网:https://www.percona.com/software/mysql-database

1.2、安装部署

原创 【ReactJs+springBoot项目——租房】第2章:mysql+ Mybatis+搭建后台服务系统+前后端整合实现新增房源
测试:
原创 【ReactJs+springBoot项目——租房】第2章:mysql+ Mybatis+搭建后台服务系统+前后端整合实现新增房源
2、MybatisPlus入门

在后台系统服务的开发过程中,必然要和数据库进行交互,在本套课程中,ORM这一层的技术选型,我们采用
Mybatis框架作为持久层框架,原因是Mybatis对SQL语句编写更加的灵活。
为了提升开发的效率,所以选用MybatisPlus作为mybatis的插件,以提升开发的效率。下面我们来学习下
MybatisPlus插件的使用。
2.1、简介
MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
原创 【ReactJs+springBoot项目——租房】第2章:mysql+ Mybatis+搭建后台服务系统+前后端整合实现新增房源
原创 【ReactJs+springBoot项目——租房】第2章:mysql+ Mybatis+搭建后台服务系统+前后端整合实现新增房源
2.2、特性
无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑 损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作
强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求
支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错支持多种数据库:支持 MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Postgre、SQLServer2005、SQLServer 等多种数据库
支持主键自动生成:支持多达 4 种主键策略(内含分布式唯一 ID 生成器 - Sequence),可*配置,完美解决主键问题
支持 XML 热加载:Mapper 对应的 XML 支持热加载,对于简单的 CRUD 操作,甚至可以无 XML 启动
支持 ActiveRecord 模式:支持 ActiveRecord 形式调用,实体类只需继承 Model 类即可进行强大的 CRUD
操作
支持自定义全局通用操作:支持全局通用方法注入( Write once, use anywhere )
支持关键词自动转义:支持数据库关键词(order、key )自动转义,还可自定义关键词
内置代码生成器:采用代码或者 Maven 插件可快速生成 Mapper 、 Model 、 Service 、 Controller 层代码,支持模板引擎,更有超多自定义配置等您来使用
内置分页插件:基于 MyBatis 物理分页,开发者无需关心具体操作,配置好插件之后,写分页等同于普通
List 查询

内置性能分析插件:可输出 Sql 语句以及其执行时间,建议开发测试时启用该功能,能快速揪出慢查询内置全局拦截插件:提供全表 delete 、 update 操作智能分析阻断,也可自定义拦截规则,预防误操作内置 Sql 注入剥离器:支持 Sql 注入剥离,有效预防 Sql 注入攻击
2.3、架构
原创 【ReactJs+springBoot项目——租房】第2章:mysql+ Mybatis+搭建后台服务系统+前后端整合实现新增房源

2.4、快速入门
2.4.1、创建表
首先,创建数据库:haoke:
原创 【ReactJs+springBoot项目——租房】第2章:mysql+ Mybatis+搭建后台服务系统+前后端整合实现新增房源
原创 【ReactJs+springBoot项目——租房】第2章:mysql+ Mybatis+搭建后台服务系统+前后端整合实现新增房源
2.4.2、创建工程以及导入依赖
原创 【ReactJs+springBoot项目——租房】第2章:mysql+ Mybatis+搭建后台服务系统+前后端整合实现新增房源
导入依赖:
原创 【ReactJs+springBoot项目——租房】第2章:mysql+ Mybatis+搭建后台服务系统+前后端整合实现新增房源
原创 【ReactJs+springBoot项目——租房】第2章:mysql+ Mybatis+搭建后台服务系统+前后端整合实现新增房源
2.4.3、编写application.properties文件
原创 【ReactJs+springBoot项目——租房】第2章:mysql+ Mybatis+搭建后台服务系统+前后端整合实现新增房源
2.4.4、创建User对象
原创 【ReactJs+springBoot项目——租房】第2章:mysql+ Mybatis+搭建后台服务系统+前后端整合实现新增房源
原创 【ReactJs+springBoot项目——租房】第2章:mysql+ Mybatis+搭建后台服务系统+前后端整合实现新增房源
2.4.5、编写UserMapper
原创 【ReactJs+springBoot项目——租房】第2章:mysql+ Mybatis+搭建后台服务系统+前后端整合实现新增房源
2.4.6、编写SpringBoot启动类
原创 【ReactJs+springBoot项目——租房】第2章:mysql+ Mybatis+搭建后台服务系统+前后端整合实现新增房源
2.4.7、编写单元测试用例
原创 【ReactJs+springBoot项目——租房】第2章:mysql+ Mybatis+搭建后台服务系统+前后端整合实现新增房源
测试结果:
原创 【ReactJs+springBoot项目——租房】第2章:mysql+ Mybatis+搭建后台服务系统+前后端整合实现新增房源
可以看到,通过简单的一些代码的编写即可实现数据的查询操作。

2.5、BaseMapper
在MybatisPlus中,BaseMapper中定义了一些常用的CRUD方法,当我们自定义的Mapper接口继承BaseMapper 后即可拥有了这些方法。
需要说明的是:这些方法仅适合单表操作。
原创 【ReactJs+springBoot项目——租房】第2章:mysql+ Mybatis+搭建后台服务系统+前后端整合实现新增房源
原创 【ReactJs+springBoot项目——租房】第2章:mysql+ Mybatis+搭建后台服务系统+前后端整合实现新增房源
原创 【ReactJs+springBoot项目——租房】第2章:mysql+ Mybatis+搭建后台服务系统+前后端整合实现新增房源
原创 【ReactJs+springBoot项目——租房】第2章:mysql+ Mybatis+搭建后台服务系统+前后端整合实现新增房源
2.5.1、like查询
原创 【ReactJs+springBoot项目——租房】第2章:mysql+ Mybatis+搭建后台服务系统+前后端整合实现新增房源
原创 【ReactJs+springBoot项目——租房】第2章:mysql+ Mybatis+搭建后台服务系统+前后端整合实现新增房源