day04-服务的具体实现以及MybatisPlus的入门

2023-12-26 13:00:21

课程内容

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

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

  7. 1.1、什么是percona

Percona?MySQL?数据库服务器进行了改进,在功能和性能上较 MySQL?有着很显著的提升。该版本提升了在高负载情况下的 InnoDB?的性能、为 DBA?提供一些非常有用的性能诊断工具;另外有更多的参数和命令来控制服务器行为。

Percona?Server?只包含 MySQL?的服务器版,并没有提供相应对 MySQL?Connector?GUI?工具进行改进。

Percona?Server?使用了一些 google-mysql-tools,?Proven?Scaling,?Open?Query?MySQL?进行改造。官网:Percona Software for MySQL

1.2、安装部署

2MybatisPlus入门?

在后台系统服务的开发过程中,必然要和数据库进行交互,在本套课程中,ORM这一层的技术选型,我们采用Mybatis框架作为持久层框架,原因是MybatisSQL语句编写更加的灵活。

为了提升开发的效率,所以选用MybatisPlus作为mybatis的插件,以提升开发的效率。下面我们来学习下MybatisPlus插件的使用。

2.1、简介

MyBatis-Plus简称 MP是一个 MyBatis?的增强工具,在 MyBatis?的基础上只做增强不做改变,为简化开发、提高效率而生。

我们的愿景是成为 MyBatis?最好的搭档,就像 魂斗罗 中的 1P2P,基友搭配,效率翻倍。

?2.2、特性

??无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑

??损害:启动即会自动注入基本?CURD,性能基本无损耗,直接面向对象操作

??强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 作,更有强大的条件构造器,满足各类使用需求

??支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错?

??支持多种数据库:支持 MySQLMariaDBOracleDB2H2HSQLSQLitePostgre

SQLServer2005SQLServer?等多种数据库

支持主键自动生成:支持多达 4?种主键策略(内含分布式唯一 ID?生成器 - Sequence),可自由配置,完美解决主键问题

支持 XML 热加载Mapper?对应的 XML?支持热加载,对于简单的 CRUD?操作,甚至可以无 XML?启动

支持 ActiveRecord?模式:支持 ActiveRecord?形式调用,实体类只需继承 Model?类即可进行强大的 CRUD操作

支持自定义全局通用操作:支持全局通用方法注入(?Write?once,?use?anywhere?

支持关键词自动转义:支持数据库关键词(orderkey )自动转义,还可自定义关键

内置代码生成器:采用代码或者 Maven?插件可快速生成 Mapper?Model?Service?Controller?层代码,支持模板引擎,更有超多自定义配置等您来使用

内置分页插件:基于?MyBatis?物理分页,开发者无需关心具体操作,配置好插件之后,写分页等同于普通List?查询

??内置性能分析插件:可输出 Sql?语句以及其执行时间,建议开发测试时启用该功能,能快速揪出慢查询?

??内置全局拦截插件:提供全表 delete?update?操作智能分析阻断,也可自定义拦截规则,预防误操作

?内置 Sql 注入剥离器:支持 Sql 注入剥离,有效预防 Sql 注入攻击

2.3、架构

2.4、快速入门

2.4.1、创建表

首先,创建数据库:haoke:

CREATE TABLE `user` (
`id` bigint(20) NOT NULL COMMENT '主键ID',
`name` varchar(30) DEFAULT NULL COMMENT '姓名',
`age` int(11) DEFAULT NULL COMMENT '年龄',
`email` varchar(50) DEFAULT NULL COMMENT '邮箱',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- 插入数据
INSERT INTO `user` (`id`, `name`, `age`, `email`) VALUES ('1', 'Jone', '18', 'test1@baomidou.com');
INSERT INTO `user` (`id`, `name`, `age`, `email`) VALUES ('2', 'Jack', '20', 'test2@baomidou.com');
INSERT INTO `user` (`id`, `name`, `age`, `email`) VALUES ('3', 'Tom', '28', 'test3@baomidou.com');
INSERT INTO `user` (`id`, `name`, `age`, `email`) VALUES ('4', 'Sandy', '21', 'test4@baomidou.com');
INSERT INTO `user` (`id`, `name`, `age`, `email`) VALUES ('5', 'Billie', '24',
'test5@baomidou.com');

2.4.2、创建工程以及导入依赖

导入依赖:

?

文章来源:https://blog.csdn.net/m0_45209551/article/details/135217363
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。