MyBatis-plus
1. 概述:
MyBatis-Plus是一个MyBatis的增强工具, 在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。MyBatis-Plus提供了通用的mapper和批量、逻辑删除、分页等操作。从MyBatis- Plus的特性及使用,到对ldea中的快速开发插件MyBatisX也进行了功能的演示。对ldea中的快速开发插件MyBatisX也进行了功能的演示。对ldea中的快速开发插件MyBatisX也进行了功能的演示。
2.框架原理:
3.基本Mapper的crud
* 新增的方法就只有一个
| - int insert(T entity); // 插入一条记录
* 删除的方法 4 个
| - int deleteById(Serializable id); // 根据 ID 删除
| - int deleteByMap(@Param(Constants.COLUMN_MAP) Map<String, Object> columnMap); // 根据 columnMap 条件,删除记录
| - int delete(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper); // queryWrapper 实体对象封装操作类(可以为 null,里面的 entity 用于生成 where 语句)
| - int deleteBatchIds(@Param(Constants.COLLECTION) Collection<? extends Serializable> idList);
// idList 主键ID列表(不能为 null 以及 empty)
* 修改的方法 2 个
| - int updateById(@Param(Constants.ENTITY) T entity); // 根据 ID 修改
| - int update(@Param(Constants.ENTITY) T entity, @Param(Constants.WRAPPER) Wrapper<T> updateWrapper);
// 实体对象 (set 条件值,可以为 null) 实体对象封装操作类(可以为 null,里面的 entity 用于生成 where 语句)
* 查询的方法 10 个
| - T selectById(Serializable id); // 根据 ID 查询
| - List<T> selectBatchIds(@Param(Constants.COLLECTION) Collection<? extends Serializable> idList);
// idList 主键ID列表(不能为 null 以及 empty)
| - List<T> selectByMap(@Param(Constants.COLUMN_MAP) Map<String, Object> columnMap); // 查询(根据 columnMap 条件)
| - default T selectOne(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper) // queryWrapper 实体对象封装操作类(可以为 null) 注意:多条数据会报异常
| - Long selectCount(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper); // 根据 Wrapper 条件,查询总记录数
| - List<T> selectList(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper); // queryWrapper 实体对象封装操作类(可以为 null)
| - List<Map<String, Object>> selectMaps(@Param(Constants.WRAPPER