MyBatisplus集成步骤
技术集:MySQL Driver
1、数据库
2、引入pom依赖:mysql-connector-java、lombok(非必须)、mybatis-plus-boot-starter
3、application文件配置spring.datasource 数据源(如果需要使用Druid数据源,导入对应坐标)
4、可选:application.yml文件配置 mybatis-plus 参数:如主键自增、表前缀、打印sql日志
# dataSource
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/springtest_db?serverTimezone=UTC
username: root
password: root
#禁用banner
main:
banner-mode: off
# mp日志
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
#禁用banner
global-config:
banner: false
db-config:
#id策略
# 1)、 AUTO:自增(代码和数据库都需要指定)
# 2)、 INPUT :用户自己输入
# 3)、 ASSIGN_ID:64位雪花算法(默认)
# 4)、 ASSIGN_UUID:UUID
id-type: assign_id
#表前缀
table-prefix: tbl_
# 逻辑删除字段名
logic-delete-field: deleted
# 逻辑删除字面值:未删除为0
logic-not-delete-value: 0
# 逻辑删除字面值:删除为1
logic-delete-value: 1
5、集成代码生成:引入pom依赖 mybatis-plus-generator、velocity或freemarker
6、自动生成代码,将代码拷贝至相应位置
7、启动类增加 @MapperScan(“com.adolesce.common.mapper”) 注解,扫描mapper接口
8、编写MybatisPlusPageConfig配置类,加载mybatis_plus分页插件(加载这个插件了分页才有效果)
9、测试使用
2.0版本与3.0版本 API不一样
Mybatis概述
- 针对mybatis的增强的工具,特点是:无侵入、轻量级,原则是只做增强,不做修改。
- 针对于单表的CRUD,我们不用自己写SQL,它已经为我们提供好了一切单表所需的API
- 支持 Lambda:编写查询条件无需担心字段写错
- 支持主键自动生成
- 内置分页插件
相关操作
-
根据ID批量删:
int deleteBatchIds(@Param(“coll”) Collection<? extends Serializable> idList); -
根据条件删
int deleteByMap(@Param(“cm”) Map<String, Object> columnMap);
int delete(@Param(“ew”) Wrapper queryWrapper); -
根据ID修改
int updateById(@Param(“et”) T entity); -
根据条件修改
int update(@Param(“et”) T entity, @Param(“ew”) Wrapper updateWrapper); -
根据ID批量查
List selectBatchIds(@Param(“coll”) Collection<? extends Serializable> idList); -
查询结果集条数
Integer selectCount(@Param(“ew”) Wrapper queryWrapper); -
根据条件查
T selectOne(@Param(“ew”) Wrapper queryWrapper);
List selectByMap(@Param(“cm”) Map<String, Object> columnMap);
List selectList(@Param(“ew”) Wrapper queryWrapper);
List<Map<String, Object>> selectMaps(@Param(“ew”) Wrapper queryWrapper);
List selectObjs(@Param(“ew”) Wrapper queryWrapper);
Lombok插件
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
</dependency>
- 生成getter和setter方法:@Getter、&#