Mapper层继承BaseMapper<T>需要引入的pom依赖方式

目录
  • Mapper层继承BaseMapper<T>引入pom依赖
  • Mybatis-Plus的BaseMapper用法
    • BaseMapper 用法
    • 用法举例

Mapper层继承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中的方法

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • mybatis抽取基类BaseMapper增删改查的实现

    目录 准备工作: 1:数据库表 2:准备实体类 步骤1:编写工具类Tools:作用:用于驼峰和数据库字段的转换 步骤2:自定义两个注解,分别用于类字段的排除和字义主键 步骤3:自定义动态sql生成类BaseSqlProvider<T> 步骤4:编写BaseMapper基类接口 举例: 目前项目当中使用mapper.xml文件方式对数据库进行操作,但是每个里边都有增/删/改/查,为了方便开发,把这些公共的代码提取出来,不用当做基类,不用每个Mapper文件都写了 准备工作: 1:数据库表 CRE

  • Mybatis-Plus BaseMapper的用法详解

    1.如何使用BaseMapper进行数据库的操作. 2.使用BaseMapper进行插入实体时如何让UUID的主键自动生成. Student实体类,其中id属性主键为UUID package com.huixiaoer.ant.api.model.bean; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; public class Stud

  • 浅谈Mybatis Plus的BaseMapper的方法是如何注入的

    目录 Mybatis Plus的BaseMapper的方法 Mybatis Plus的初始化方法 MybatisPlusAutoConfiguration中的SqlSessionFactory BaseMapper方法的注入的过程 总结 Mybatis Plus的BaseMapper的方法 我们在用的时候经常就是生产自定义的Mapper继承自BaseMapper,然后我们就可以使用了,但是有没想过BaseMapper里的方法是怎么被注入到mybatis里的,也没看到什么xml啊,今天我们就来看看

  • mybatis-plus中BaseMapper入门使用

    目录 入门使用BaseMapper完成增删改查 BaseMapper各方法详解 Insert Delete Update Select 具体教程参考官网文档: baomidou.com/ 入门使用BaseMapper完成增删改查 根据数据库表制作相应实体类 @TableName(value = "user") public class User implements Serializable { private static final long serialVersionUID =

  • Mapper层继承BaseMapper<T>需要引入的pom依赖方式

    目录 Mapper层继承BaseMapper<T>引入pom依赖 Mybatis-Plus的BaseMapper用法 BaseMapper 用法 用法举例 Mapper层继承BaseMapper<T>引入pom依赖 <!-- mp依赖 mybatisPlus 会自动的维护Mybatis 以及MyBatis-spring相关的依赖 --> <dependency> <groupId>com.baomidou</groupId> <

  • Mybatis-Plus实体类注解方法与mapper层和service层的CRUD方法

    目录 1 注解 1.1 @TableName 1.2 @TableId 1.3 @TableField 1.4 @TableLogic 2 mapper层的CRUD方法 2.1 增(insert) 2.2 删(delete) 2.3 改(update) 2.4 查(select) 3 service层的CRUD方法 3.1 批量添加或者更新 3.2 查询表中总记录数 1 注解 1.1 @TableName   之前在入门案例中我们分析过:使用mp底层方法生成的SQL语句中,表名为mapper或者

  • 持久层ORM框架Hibernate框架的使用及搭建方式

    目录 前言 一.Hibernate的优点? 二.Hibernate的缺点 三.搭建Hibernate项目架构 四.Hibernate核心接口的介绍 五.封装Hibernate的工具类 六.常用的CRUD操作 七.主键生成机制 八.Hibernate的类型 总结 前言 hibernate的概念: hibernate是一个ormapping框架(ORM框架,全自动ORM框架) hibernate是一个数据库的操作框架即持久层框架 Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行

  • 详解webpack引入第三方库的方式以及注意事项

    一般情况下,我们不用担心所使用的第三方库,在npm管理仓库中找不到. 如果需要某一个库,如:jquery,可以直接运行npm install jquery脚本命令来安装这个项目所需要的依赖: 然后,在使用jquery的模块文件中,通过import $ from 'jquery'或者var $ = require('jquery')来引入. 这是常用的在webpack构建的项目中引入第三方库的方式. 注:为了更好的演示示例代码,示例是在nodemon这篇文章的基础上操作的. 但是,在不同的场景下,

  • 详解在IDEA中将Echarts引入web两种方式(使用js文件和maven的依赖导入)

    一:js引入 首先要从Echart下载 选择你想要的图表后,滑到最下面的下载 将下载好的文件放入 然后引入HTML中 <script src="echarts.min.js"></script> 二:maven引入 首先将maven依赖导入 <!-- https://mvnrepository.com/artifact/org.webjars.bower/echarts --> <dependency> <groupId>or

  • buildAdmin开源项目引入四种图标方式详解

    目录 正文 引入Element-Plus图标库 引入Iconfont图标库 引入FontAwesome图标库 引入本地svg图标 正文 在项目开发中,我们经常使用可能都是UI组件库里的图标,当然由于业务需要,可能当前图标库没有我们需要的图标这时候就需要引入其它图标库的图标,比如iconfont.FontAweSome.本地图标库.在了解引入这些图标库之前,我们先学习一下各种图标库的引入使用: Element-Plus:由于elemen官方已经把图标封装成了组件,所以当我们引入图标的时候,需要全局

  • 在Spring Data JPA中引入Querydsl的实现方式

    一.环境说明 基础框架采用Spring Boot.Spring Data JPA.Hibernate.在动态查询中,有一种方式是采用Querydsl的方式. 二.具体配置 1.在pom.xml中,引入相关包和配置插件. (1)引入包(注:不需要版本号,Spring Boot 会自动匹配合适的版本) <!-- Querydsl相关包 --> <dependency> <groupId>com.querydsl</groupId> <artifactId&

  • vue项目配置sass及引入外部scss文件方式

    目录 配置sass及引入外部scss文件 配置sass 引入外部scss文件 如果显示错误为如下图所示 记住此时需要重启项目 npm run dev 踩过的坑 Vue引入Sass文件 问题来了,为什么呢? 配置sass及引入外部scss文件 配置sass 安装对应依赖node模块 npm install node-sass --save-dev npm install sass-loader --save-dev 引入外部scss文件 在main.js中引入需要的scss文件 如果显示错误为如下

  • MyBatis-Plus工具使用之EntityWrapper解析

    目录 EntityWrapper使用解析 EntityWrapper源码解读 EntityWrapper使用解析 1.项目中引入jar包,我这里使用Maven构建 <dependency>     <groupId>com.baomidou</groupId>     <artifactId>mybatis-plus</artifactId>     <version>仓库最高版本号</version> </depe

  • springboot2.3 整合mybatis-plus 高级功能

    -学习并使用mybatis-plus的一些高级功能的用法例如: AR模式. 乐观锁 .逻辑删除 .自动填充.数据保护等功能 为了方便演示,咱们还是新建一个全新的项目 引入mp依赖 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.3.2</version> &l

随机推荐