文章目录
 MyBatis-Plus基本介绍优势:劣势:MyBatis-Plus特性:CRUD条件构造器代码生成器
  SpringBoot集成Druid数据源Druid介绍添加Druid数据源依赖添加相关配置
  mybatis-pulls的使用添加依赖启动类实体类编写mapper接口测试
 
 
 
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>
</dependency>
 
添加相关配置
 
spring
.datasource
.type
=com
.alibaba
.druid
.pool
.DruidDataSource
#初始化大小
,最小
,最大连接数
spring
.datasource
.initial
-size
=5
spring
.datasource
.min
-idle
=5
spring
.datasource
.max
-active
=20
# 配置获取连接等待超时的时间
spring
.datasource
.max
-wait
=60000
 
mybatis-pulls的使用
 
添加依赖
 
<dependency>
            <groupId>com.baomidou
</groupId>
            <artifactId>mybatis-plus-boot-starter
</artifactId>
            <version>3.1.1
</version>
</dependency>
 
启动类
 
@SpringBootApplication
@MapperScan(basePackages 
= "com.example.pulls2.dao")
public class Pulls2Application {
    public static void main(String
[] args
) {
        SpringApplication
.run(Pulls2Application
.class, args
);
    }
}
 
实体类
 
package com
.example
.pulls2
.pojo
;
import com
.baomidou
.mybatisplus
.annotation
.IdType
;
import com
.baomidou
.mybatisplus
.annotation
.TableField
;
import com
.baomidou
.mybatisplus
.annotation
.TableId
;
import com
.baomidou
.mybatisplus
.annotation
.TableName
;
import lombok
.Data
;
@Data
@TableName("user")
public class User {
  @TableId(type 
= IdType
.AUTO
)
  @TableField("id")
  private long id
;
  @TableField("name")
  private String name
;
  @TableField("logid")
  private long logid
;
}
 
@TableName(“指定表名”)实体名与表名不一致时需要指定 @TableId(type = IdType.AUTO)注解在主键属性上,且指定主键生成策略为自动增长 @TableField(“字段名”) 主键在属性上,指定数据库字段名
 
编写mapper接口
 
public interface UserMapper extends BaseMapper<User> {
}
 
测试
 
 @Resource
    UserMapper userMapper
;
    @Test
    public void contextLoads() {
    }
    @Test
    public  void  testSekectById(){
        User user
=userMapper
.selectById(4L
);
        System
.out
.println("username:"+user
.getName());
    }
 
以上就是我对mybatis-plus和druid的一些了解,大家快去实验一下吧!