欢迎光临散文网 会员登陆 & 注册

黑马程序员最新MybatisPlus全套视频教程,4小时快速精通mybatis-

2023-09-22 23:36 作者:Wabi-Sabifag  | 我要投稿

# 1、了解Mybatis-Plus

## 1.1、Mybatis-Plus介绍

MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高

效率而生。

官网:https://mybatis.plus/ 或 https://mp.baomidou.com/


## 1.2、代码以及文档

文档地址:https://mybatis.plus/guide/

源码地址:https://github.com/baomidou/mybatis-plus


## 1.3、特性

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

+ 损耗小:启动即会自动注入基本 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 注入攻击


## 1.4、架构

![MybatisPlus架构分析图](../MybatisPlus/1.png)


## 1.5、作者

Mybatis-Plus是由baomidou(苞米豆)组织开发并且开源的,目前该组织大概有30人左右。

码云地址:https://gitee.com/organizations/baomidou

![MybatisPlus团队](../MybatisPlus/2.png)


# 2、快速开始

对于Mybatis整合MP有常常有三种用法,分别是Mybatis+MP、Spring+Mybatis+MP、Spring Boot+Mybatis+MP。


## 2.1、创建数据库以及表

![数据库的创建](../MybatisPlus/3.png)

```

-- 创建测试表

CREATE TABLE `tb_user` (

`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',

`user_name` varchar(20) NOT NULL COMMENT '用户名',

`password` varchar(20) NOT NULL COMMENT '密码',

`name` varchar(30) DEFAULT NULL COMMENT '姓名',

`age` int(11) DEFAULT NULL COMMENT '年龄',

`email` varchar(50) DEFAULT NULL COMMENT '邮箱',

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

-- 插入测试数据

INSERT INTO `tb_user` (`id`, `user_name`, `password`, `name`, `age`, `email`) VALUES

('1', 'zhangsan', '123456', '张三', '18', 'test1@itcast.cn');

INSERT INTO `tb_user` (`id`, `user_name`, `password`, `name`, `age`, `email`) VALUES

('2', 'lisi', '123456', '李四', '20', 'test2@itcast.cn');

INSERT INTO `tb_user` (`id`, `user_name`, `password`, `name`, `age`, `email`) VALUES

('3', 'wangwu', '123456', '王五', '28', 'test3@itcast.cn');

INSERT INTO `tb_user` (`id`, `user_name`, `password`, `name`, `age`, `email`) VALUES

('4', 'zhaoliu', '123456', '赵六', '21', 'test4@itcast.cn');

INSERT INTO `tb_user` (`id`, `user_name`, `password`, `name`, `age`, `email`) VALUES

('5', 'sunqi', '123456', '孙七', '24', 'test5@itcast.cn');

```


## 2.2、创建工程

```

导入依赖:

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0

http://maven.apache.org/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>


<groupId>cn.itcast.mp</groupId>

<artifactId>itcast-mybatis-plus</artifactId>

<version>1.0-SNAPSHOT</version>


<modules>

<module>itcast-mybatis-plus-simple</module>

</modules>


<packaging>pom</packaging>


<dependencies>

<!-- mybatis-plus插件依赖 -->

<dependency>

<groupId>com.baomidou</groupId>

<artifactId>mybatis-plus</artifactId>

<version>3.1.1</version>

</dependency>


<!-- MySql -->

<dependency>

<groupId>mysql</groupId>

<artifactId>mysql-connector-java</artifactId>

<version>5.1.47</version>

</dependency>


<!-- 连接池 -->

<dependency>

<groupId>com.alibaba</groupId>

<artifactId>druid</artifactId>

<version>1.0.11</version>

</dependency>


<!--简化bean代码的工具包-->

<dependency>

<groupId>org.projectlombok</groupId>

<artifactId>lombok</artifactId>

<optional>true</optional>

<version>1.18.4</version>

</dependency>


<dependency>

<groupId>junit</groupId>

<artifactId>junit</artifactId>

<version>4.12</version>

</dependency>


<dependency>

<groupId>org.slf4j</groupId>

<artifactId>slf4j-log4j12</artifactId>

<version>1.6.4</version>

</dependency>


</dependencies>


<build>

<plugins>

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-compiler-plugin</artifactId>

<configuration>

<source>1.8</source>

<target>1.8</target>

</configuration>

</plugin>

</plugins>

</build>


</project>

```


## 2.3、Mybatis + MP

下面演示,通过纯Mybatis与Mybatis-Plus整合。


### 2.3.1、创建子Module

```

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0

http://maven.apache.org/xsd/maven-4.0.0.xsd">


<parent>

<artifactId>itcast-mybatis-plus</artifactId>

<groupId>cn.itcast.mp</groupId>

<version>1.0-SNAPSHOT</version>

</parent>


<modelVersion>4.0.0</modelVersion>

<packaging>jar</packaging>


<artifactId>itcast-mybatis-plus-simple</artifactId>


</project>

```

log4j.properties:

```

log4j.rootLogger=DEBUG,A1

log4j.appender.A1=org.apache.log4j.ConsoleAppender

log4j.appender.A1.layout=org.apache.log4j.PatternLayout

log4j.appender.A1.layout.ConversionPattern=[%t] [%c]-[%p] %m%n

```


黑马程序员最新MybatisPlus全套视频教程,4小时快速精通mybatis-的评论 (共 条)

分享到微博请遵守国家法律