Mapper层继承BaseMapper<T>引入pom依赖
qq_43154385 人气:7Mapper层继承BaseMapper<T>引入pom依赖
<!-- mp依赖 mybatisPlus 会自动的维护Mybatis 以及MyBatis-spring相关的依赖 --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus</artifactId> <version>3.0.3</version> </dependency>
Mybatis-Plus的BaseMapper用法
BaseMapper 用法
Mapper 继承该接口后,无需编写 mapper.xml 文件,即可获得CRUD功能
public interface BaseMapper<T> { //插入一条记录 参数:实体 返回:int Integer insert(T entity); //根据 ID 删除 参数:主键ID 返回:int Integer deleteById(Serializable id); //根据 columnMap 条件,删除记录 参数:表字段 map 对象 返回:int Integer deleteByMap(@Param("cm") Map<String, Object> columnMap); //根据 entity 条件,删除记录 参数:实体对象封装操作类(可以为 null) 返回:int Integer delete(@Param("ew") Wrapper<T> wrapper); //删除(根据ID 批量删除) 参数:主键ID列表 返回:int Integer deleteBatchIds(List<? extends Serializable> idList); //根据 ID 修改 参数:实体对象 返回:int Integer updateById(T entity); //根据 whereEntity 条件,更新记录 参数:实体对象,实体对象封装操作类(可以为 null) 返回:int Integer update(@Param("et") T entity, @Param("ew") Wrapper<T> wrapper); //根据 ID 查询 参数:主键ID 返回:T T selectById(Serializable id); //查询(根据ID 批量查询) 参数:主键ID列表 返回:List<T> List<T> selectBatchIds(List<? extends Serializable> idList); //查询(根据 columnMap 条件) 参数:表字段 map 对象 返回:List<T> List<T> selectByMap(@Param("cm") Map<String, Object> columnMap); //根据 entity 条件,查询一条记录 参数:实体对象 返回:T T selectOne(@Param("ew") T entity); //根据 Wrapper 条件,查询总记录数 参数:实体对象 返回:int Integer selectCount(@Param("ew") Wrapper<T> wrapper); //根据 entity 条件,查询全部记录 参数:实体对象封装操作类(可以为 null) 返回:List<T> List<T> selectList(@Param("ew") Wrapper<T> wrapper); //根据 Wrapper 条件,查询全部记录 参数:实体对象封装操作类(可以为 null) 返回:List<T> List<Map<String, Object>> selectMaps(@Param("ew") Wrapper<T> wrapper); //根据 Wrapper 条件,查询全部记录 参数:实体对象封装操作类(可以为 null) 返回:List<Object> List<Object> selectObjs(@Param("ew") Wrapper<T> wrapper); /** * 用法:(new RowBounds(offset, limit), ew); * 根据 entity 条件,查询全部记录(并翻页) * @param rowBounds * 分页查询条件(可以为 RowBounds.DEFAULT) * @param wrapper * 实体对象封装操作类(可以为 null) * @return List<T> */ //根据 ID 删除 参数:主键ID 返回:int List<T> selectPage(RowBounds rowBounds, @Param("ew") Wrapper<T> wrapper); /** -- 不常用, * 根据 Wrapper 条件,查询全部记录(并翻页) * @param rowBounds * 分页查询条件(可以为 RowBounds.DEFAULT) * @param wrapper * 实体对象封装操作类 * @return List<Map<String, Object>> */ //根据 ID 删除 参数:主键ID 返回:int List<Map<String, Object>> selectMapsPage(RowBounds rowBounds, @Param("ew") Wrapper<T> wrapper); }
用法举例
接口:
public interface UserDao extends BaseMapper<User> { //这里面不用做任何操作 } //具体实现方法中: QueryWrapper<User> queryWrapper=new QueryWrapper<>(); queryWrapper.lambda().eq(User::getName,"zhangsan"); List<User> userList = UserDao.selectList(queryWrapper); //调用UserDao中的方法
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
加载全部内容