千家信息网

Mybatis Plus select如何实现只查询部分字段

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,小编给大家分享一下Mybatis Plus select如何实现只查询部分字段,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧
千家信息网最后更新 2026年11月01日Mybatis Plus select如何实现只查询部分字段

小编给大家分享一下Mybatis Plus select如何实现只查询部分字段,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

Mybatis Plus select 查询部分字段

Mybatis Plus select语句默认查询所有字段,如需要指定字段查询,则需使用 QueryWrapper的select方法。

select

select(String... sqlSelect)  select(Predicate predicate)  select(Class entityClass, Predicate predicate)

设置查询字段

说明:

以上方法分为两类。

第二类方法为:过滤查询字段(主键除外),入参不包含 class 的调用前需要wrapper内的entity属性有值! 这两类方法重复调用以最后一次为准

例:指定查询主键,名字,年龄字段

select("id", "name", "age")

例: 查询以test开头的属性

select(i ‐> i.getProperty().startsWith("test"))

例:查询User对象中出除manager_id和create_time外其它所有字段的数据

select(User.class, info ‐> !info.getColumn().equals("manager_id") && !info.getColumn().equals("create_time"))

MyBatis-Plus之select、delete

一、Mybatis-Plus之查询操作

1、查询操作常用API

根据ID查询测试代码如下:

//测试根据ID查询@Testpublic void testSelectById(){        User user = userMapper.selectById(2L);        System.out.println(user);}

测试结果如下:

批量查询测试代码如下:

//测试批量查询@Testpublic void testSelectByBatchIds(){        List users = userMapper.selectBatchIds(Arrays.asList(1, 2, 3));        users.forEach(System.out::println);}

测试结果如下:

使用map进行条件查询测试代码如下:

//按条件查询之使用map操作@Testpublic void testSelectByMap(){        Map map = new HashMap();        map.put("name","哈利油");        map.put("age",18);         List list = userMapper.selectByMap(map);        list.forEach(System.out::println);}

测试结果如下:

2、分页查询

分页在项目里使用得十分多,平时一般是使用pageHelpr插件进行分页,还可以使用原始的limit进行分页;MP其实内置了分页插件,使用步骤如下:

2.1、在配置类里注册分页插件

//注册分页插件@Beanpublic PaginationInterceptor paginationInterceptor(){        return new PaginationInterceptor();}

2.2、直接使用MP内置的Page对象进行分页,测试代码如下

@Testpublic void testPage(){        //参数1:当前页,参数2:页面大小        Page page = new Page<>(1,5);        //用于排序        page.setDesc("id");        IPage userIPage = userMapper.selectPage(page, null);         userIPage.getRecords().forEach(System.out::println);        System.out.println(userIPage.getTotal());}

测试结果如下:

二、Mybatis-Plus之删除操作

1、物理删除操作常用API

根据ID删除测试代码如下:

//测试删除@Testpublic void testDeleteById(){        userMapper.deleteById(1L);}

测试结果如下:

根据ID批量删除测试代码如下:

//通过id批量删除@Testpublic void testDeleteBatchId(){        userMapper.deleteBatchIds(Arrays.asList(2L,3L));}

测试结果如下:

使用map进行条件删除测试代码如下:

@Testpublic void testDeleteMap(){        Map map = new HashMap();        map.put("name","哈利油");        userMapper.deleteByMap(map);}

测试结果如下:

2、逻辑删除

在工作中有时需要使用到逻辑删除,逻辑删除即数据在数据库里没有被移除,而是通过一个变量来让它失效;一般管理员可以查看被逻辑删除的数据,这样可防止数据的丢失,类似于回收站功能

MP逻辑删除使用步骤如下:

2.1、在数据库里增加deleted字段

2.2、在实体类对应的属性上加上@TableLogic注解

2.3、在配置类里注册逻辑删除组件

//注册逻辑删除组件@Beanpublic ISqlInjector sqlInjector(){        return new LogicSqlInjector();}

2.4、在application.properties文件里配置已删除跟未删除用什么来表示

mybatis-plus.global-config.db-config.logic-delete-value=1mybatis-plus.global-config.db-config.logic-not-delete-value=0

2.5、测试逻辑删除

以上是"Mybatis Plus select如何实现只查询部分字段"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

查询 测试 字段 逻辑 代码 结果 数据 插件 方法 部分 属性 条件 篇文章 配置 内容 参数 对象 常用 数据库 步骤 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 咖啡网 保险科技 互联网保险 伟宏互联网科技 深圳九邦互联网科技有限公司 河南真二互联网科技有限公司 互联网 科技创业 互联网科技公司官网 佰商互联网科技有限公司 互联网科技股有哪些 天速互联网络科技有限公司 宝灵互联网科技有限公司 链环科技传统企业怎么转型互联网 深圳育鹏互联网科技有限公司招聘 为客找房互联网科技公司怎么样 35岁以上互联网科技行业 福建互联网展示科技馆设计 福仕德教育科技互联网 北京军民互联网科技公司 上海旺乐尼互联网科技有限公司 恒生科技互联网指数十大成分股 互联网科技海报 广东万易互联网科技有限公司惠州分公司 高科技互联网 北京互联网科技 浩特互联网科技 中国互联网金融科技基金 允成互联网科技有限公司融资 阿里互联网科技企业 锡山区互联网智能科技产品供应 上海钢联属于互联网科技股吗
0