文章目录
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的一些了解,大家快去实验一下吧!