Mybatis-plus如何查询表中指定字段(不查询全部字段)
目录
- 查询表中指定字段(不查询全部字段)
- 场景
- 解决
- 只查询部分字段的两种方法
- 方法1
- 方法2
查询表中指定字段(不查询全部字段)
场景
Mybatis-Plus中BaseMapper提供的方法默认查询的是数据库中表的所有字段,但是有时候,我们仅仅需要查询的是表的某个字段货主一些字段,查询全部的话数据量大时会出现效率问题,况且对于有强迫症的人简直是难以忍受!!!
解决
Mybatis-Plus中通过构建QueryWrapper来设置select方法指定需要查询的字段。
具体图片
只查询部分字段的两种方法
mybatis-plus(后面简称为mp)是mybatis的增强版,官方称之为 “ 只做增强,不做修改 ”。mp将一些简单的sql语句进行了封装和自动生成,提高了效率,但是降低了性能。
那么,用mybatis可以自己写sql,查询语句可以自由发挥,比如可以只查询表中的部分字段,对于mp也有两种针对此种需求的方法,下面就来介绍:
方法1
只需要查询出name和phone两个字段:使用queryWrapper的select()方法指定要查询的字段
@Test public void selectByWrapper1() { QueryWrapper<User> queryWrapper = new QueryWrapper<>(); queryWrapper.select("name", "phone").eq("age",25); List<User> users = userMapper.selectList(queryWrapper); users.forEach(System.out::println); }
方法2
查询出除age和address外其它所有字段的数据:同样使用queryWrapper的select()方法
@Test public void selectByWrapper2() { QueryWrapper<User> queryWrapper = new QueryWrapper<>(); queryWrapper.select(User.class, info -> !info.getColumn().equals("age") && !info.getColumn().equals("address")).eq("name","jack"); List<User> users = userMapper.selectList(queryWrapper); users.forEach(System.out::println); }
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
Mybatis-Plus select不列出全部字段的方法
mybatis-plus select查询语句默认是查全部字段,有两种方法可以指定要查询的字段 CREATE TABLE `user` ( `id` bigint(20) NOT NULL COMMENT '主键', `name` varchar(30) DEFAULT NULL COMMENT '姓名', `age` int(11) DEFAULT NULL COMMENT '年龄', `email` varchar(50) DEFAULT NULL COMMENT '邮箱', `manage
-
Mybatis Plus select 实现只查询部分字段
目录 Mybatis Plus select 查询部分字段 select 设置查询字段 MyBatis-Plus之select.delete 一.Mybatis-Plus之查询操作 1.查询操作常用API 2.分页查询 二.Mybatis-Plus之删除操作 1.物理删除操作常用API 2.逻辑删除 Mybatis Plus select 查询部分字段 Mybatis Plus select语句默认查询所有字段,如需要指定字段查询,则需使用 QueryWrapper的select方法. sele
-
mybatis-plus指定字段模糊查询的实现方法
mybatis-plus版本:3.3.0 oracle版本:11g 很常见的一个需求场景:某张表在前端显示时,查询条件中,往往name字段需要模糊查询,否则默认mybatis-plus是用的全字符匹配查询.如何最小限度地改造代码,实现某个字段模糊查询,其实mybatis-plus官方文档给出了答案: 通过@TableField注解地condition属性,可以配置某个字段,始终使用模糊匹配,打开condition类,去看看有哪些可选项: 一共有5个可选项,默认是采用第一个:EQUAL. 接下来改
-
MyBatis-Plus 查询指定字段的实现
首先创建一个数据库表,如下图所示: 然后创建一个Spring Boot项目,pom.xml和配置如下: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schema
-
Mybatis-plus如何查询表中指定字段(不查询全部字段)
目录 查询表中指定字段(不查询全部字段) 场景 解决 只查询部分字段的两种方法 方法1 方法2 查询表中指定字段(不查询全部字段) 场景 Mybatis-Plus中BaseMapper提供的方法默认查询的是数据库中表的所有字段,但是有时候,我们仅仅需要查询的是表的某个字段货主一些字段,查询全部的话数据量大时会出现效率问题,况且对于有强迫症的人简直是难以忍受!!! 解决 Mybatis-Plus中通过构建QueryWrapper来设置select方法指定需要查询的字段. 具体图片 只查询部分字段的
-
Laravel Eloquent ORM 实现查询表中指定的字段
在使用Laravel ORM的Model方法find, get, first方法获取数据对象时返回的数据对象的attributes属性数组里会包含数据表中所有的字段对应的键值关系, 那么如何在ORM查询时只返回数据表中指定字段的数据呢?很多时候,文档上没有写明的用法需要我们去看源码来探究的,下面我们就来看一下这三个方法的实现. 由于ORM依赖了QueryBuilder来实现查询, 在QueryBuilder的源码里通过查看get,first方法的实现可以到,他们都可以接收一个数组参数来指定要查询
-
在SQLite-Python中实现返回、查询中文字段的方法
博主在这个问题上卡了挺久的,贴出来解决方法帮助需要的朋友,直接上代码(测试环境:win10+Python2.7): # coding=utf-8 import sqlite3 with sqlite3.connect(":memory:") as conn: try: init_sql = " create table test (id integer primary key ,name text(200) not null);" \ " insert i
-
实例讲解Java的MyBatis框架对MySQL中数据的关联查询
mybatis 提供了高级的关联查询功能,可以很方便地将数据库获取的结果集映射到定义的Java Bean 中.下面通过一个实例,来展示一下Mybatis对于常见的一对多和多对一关系复杂映射是怎样处理的. 设计一个简单的博客系统,一个用户可以开多个博客,在博客中可以发表文章,允许发表评论,可以为文章加标签.博客系统主要有以下几张表构成: Author表:作者信息表,记录作者的信息,用户名和密码,邮箱等. Blog表 : 博客表,一个作者可以开多个博客,即Author和Blog的关系是一对多.
-
JS使用ajax方法获取指定url的head信息中指定字段值的方法
本文实例讲述了JS使用ajax方法获取指定url的head信息中指定字段值的方法.分享给大家供大家参考.具体分析如下: 下面的JS代码用来获取ajax_info.txt的head信息中的Last modified属性,最后修改时间 <!DOCTYPE html> <html> <head> <script> function loadXMLDoc(url) { var xmlhttp; if (window.XMLHttpRequest) {// code
-
sqlserver replace函数 批量替换数据库中指定字段内指定字符串参考方法
语法 REPLACE ( 'string_expression1' , 'string_expression2' , 'string_expression3' ) 参数说明 'string_expression1' 待搜索的字符串表达式.string_expression1 可以是字符数据或二进制数据. 'string_expression2' 待查找的字符串表达式.string_expression2 可以是字符数据或二进制数据. 'string_expression3' 替换
-
MySQL使用select语句查询指定表中指定列(字段)的数据
本文介绍MySQL数据库中执行select查询语句,查询指定列的数据,即指定字段的数据. 再来回顾一下SQL语句中的select语句的语法: Select 语句的基本语法: Select <列的集合> from <表名> where <条件> order by <排序字段和方式> 如果要查询某个表中的指定列的所有数据,则查询语句可以写作: select 列名1,列名2,列名3... from <表名> 要说明一个,这个语句后面仍然可以使用wher
-
Django ORM 查询表中某列字段值的方法
1.什么是ORM ORM 全拼Object-Relation Mapping. 中文意为 对象-关系映射. 在MVC/MVT设计模式中的Model模块中都包括ORM 2.ORM优势 (1)只需要面向对象编程, 不需要面向数据库编写代码. 对数据库的操作都转化成对类属性和方法的操作. 不用编写各种数据库的sql语句. (2)实现了数据模型与数据库的解耦, 屏蔽了不同数据库操作上的差异. 不在关注用的是mysql.oracle...等. 通过简单的配置就可以轻松更换数据库, 而不需要修改代码. 3.
-
mybatis plus实体类中字段映射mysql中的json格式方式
目录 mybatis plus实体类中字段映射mysql中的json格式 1.实体类中有个属性是其他对象 2.那么取出时怎么进行映射呢,有分为两种情况 mybatis-plus 实体 json 处理 本文总共三个步骤 mybatis plus实体类中字段映射mysql中的json格式 1.实体类中有个属性是其他对象 或者是List:在数据库中存储时使用的是mysql的json格式,此时可以用mybatis plus的一个注解 @TableField(typeHandler = JacksonTy
-
利用Mybatis向PostgreSQL中插入并查询JSON字段
目录 应用场景介绍 数据insert 数据select BATCH 批量插入 前言: 这里我使用的是TimescaleDB,加了一个时间戳字段,不过没差.关于PostgreSQL中Json数据类型的操作,可以参考官网. 应用场景介绍 将TCP发过来的数据包(通过消息队列发过来)解析出数据(一个数据包含有多帧,一帧中含有多条信息),并和本地规则表的格式对应起来.以JsonLineMsg实体类代表对应的一帧数据: package tsdb.entity; import lombok.AllArgsC
随机推荐
- mongoDB 多重数组查询(AngularJS绑定显示 nodejs)
- Prototype使用指南之dom.js
- JavaScript 链式结构序列化详解
- 网卡速度不再频变 局域网传输速度升级的图文教程
- JavaScript控制输入框中只能输入中文、数字和英文的方法【基于正则实现】
- Visual Studio 2015全英界面切换成中文界面
- php str_replace替换指定次数的方法详解
- destoon实现调用热门关键字的方法
- Python自定义scrapy中间模块避免重复采集的方法
- C#实现txt定位指定行完整实例
- MySQL基础教程之IN的用法详解
- div+css排版的样例
- 在jsp中发送email
- 那些年,我还在学习jquery 学习笔记
- jQuery+canvas实现的球体平抛及颜色动态变换效果
- jquery parent和parents的区别分析
- 微信JSAPI Ticket接口签名详解
- Android实现循环平移动画示例
- Android 七种进度条的样式
- Assert(断言实现机制深入剖析)