Bootstrap

MyBatis-Plus和Druid数据源


MyBatis-Plus基本介绍

MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
成为 MyBatis 最好的搭档,就像 魂斗罗 中的 1P、2P,基友搭配,效率翻倍。

优势:

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

劣势:

  • 简单CRUD操作还得写SQL语句
  • XML中有大量的SQL要维护
  • MyBatis自身功能很有限,但支持Plugin

MyBatis-Plus特性:

  • 无侵入、损耗小、强大的CRUD操作
  • 支持Lambda形式调用、支持多种数据库
  • 支持主键自动生成、支持ActiveRecord模式
  • 支持自定义全局通用操作、支持关键词自动转义
  • 内置代码生成器、内置分页插件、内置性能分析插件
  • 内置全局拦截插件、内置Sql注入剥离器

CRUD

  • 通用 CRUD 封装BaseMapper 接口,为 Mybatis-Plus 启动时自动解析实体表关系映射转换为 Mybatis内部对象注入容器

  • 泛型 T 为任意实体对象

  • 参数 Serializable 为任意类型主键 Mybatis-Plus 不推荐使用复合主键约定每一张表都有自己的唯一 id 主键

  • 对象 Wrapper 为 条件构造器

条件构造器

QueryWrapper(LambdaQueryWrapper) 和 UpdateWrapper(LambdaUpdateWrapper) 的父类 用于生成 sql的 where 条件, entity 属性也用于生成 sql 的 where 条件

代码生成器

MyBatis Plus是MyBatis的扩展框架,而代码生成器是MP的核心功能之一,另外还有 “条件构造器”和“通用CRUD”等功能。

SpringBoot集成Druid数据源

Druid介绍

Druid是阿里巴巴开源的一个数据源,主要用于java数据库连接池,相比spring推荐的DBCP和hibernate推荐的C3P0、Proxool数据库连接池,Druid在市场上占有绝对的优势;

添加Druid数据源依赖

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.1.10</version
;