Mybatis-Plus-集mybatis与hibernate的优点一起的框架

一、Mybatis-Plus简介

优势

  • SQL语句可以自由控制、更灵活和性能更高
  • SQL与代码分离,易于阅读和维护
  • 提供XML标签,支持编写动态SQL语句

劣势

  • 简单CURD操作也要写SQL,开发量大
  • XML中需要维护大量SQL
  • 自身功能少,需要依赖插件
    增强Mybatis
  1. 无侵入,损耗小,强大的Curd操作
  2. 支持lambda形式调用,支持多种数据库
  3. 支持主键自动生成,支持ActiveRecord模式
    https://mybatis.plus/
    Mybatis-Plus-集mybatis与hibernate的优点一起的框架_第1张图片
    启动时扫描实体->(容器启动时)注入curd方法,如果存在则不注入
    core,注解,代码生成器,扩展,springboot启动器

二、简单使用

2.1 建表,插入数据

2.2 依赖

<dependency>
    <groupId>org.projectlombokgroupId>
    <artifactId>lombokartifactId>
    <optional>trueoptional>
dependency>
<dependency>
    <groupId>com.baomidougroupId>
    <artifactId>mybatis-plus-boot-starterartifactId>
    <version>3.1.1version>
dependency>
<dependency>
    <groupId>mysqlgroupId>
    <artifactId>mysql-connect-javaartifactId>
dependency>

默认数据库连接池HikariCP[java中最快的数据库连接池]

2.3配置application.yml及输出日志

在这里插入图片描述
%m 日志内容
Mybatis-Plus-集mybatis与hibernate的优点一起的框架_第2张图片

2.4更多 :https://mybatis.plus/guide/quick-start.html#添加依赖

三、BaseMapper

3.1使用方法

public interface UserMapper extends BaseMapper<User> {
}

3.2常用注解

给实体类制定表名@TableName("table_name")
指定主键@TableId
指定对应列@TableField("字段名")

乐观锁标记注解@Version
序列主键策略注解@KeySequence

3.3基类CURD方法

Mybatis-Plus-集mybatis与hibernate的优点一起的框架_第3张图片

3.3.1 insert
  1. id自动填充为long型,默认实体类主键叫id,可以通过注解修改
  2. 默认实体类名(成员属性名)驼峰对应数据库中表名(字段名)下划线
  3. 排除不保存到数据库的实体类属性
    ①private transient String remark; //不进行序列化
    ②private static String remark; //静态变量
    @TableField(exist=false)指定注解
3.3.2 select
  • 三种普通查询
    1.根据主键id查询[返回单个]
    2.根据主键idList查询[返回List]
    3.根据map条件查询[返回List]

  • 条件构造器查询Wapper
    在这里插入图片描述
    大于 小于 like between exist 排序
    调用函数(apply)
    子查询(inSql(“列名”,“子查询sql语句”))
    limit(last在sql后添加语句)
    Mybatis-Plus-集mybatis与hibernate的优点一起的框架_第4张图片Mybatis-Plus-集mybatis与hibernate的优点一起的框架_第5张图片
    只列出需要的字段 .select(“id”,“name”)
    排除两列
    在这里插入图片描述
    判断空的条件查询
    Mybatis-Plus-集mybatis与hibernate的优点一起的框架_第6张图片

  • condition,通过实体查询

  • 自定义sql

  • 分页查询,Mybatis分页是逻辑分页都查出来取部分,https://mybatis.plus/guide/page.html MP是物理分页

>>更多条件构造器使用<<

3.3.3 update
3.3.4 delete

四、待更新

八、插件

Mybatis-Plus-集mybatis与hibernate的优点一起的框架_第7张图片

你可能感兴趣的:(后端/java/web框架)