解决mybatis用Map返回的字段全变大写的问题
mybatis通常情况都是用javabean作为resultType的对象,但是有时也可以使用Map去接收。
${value}
如果使用Map,返回来的字段名全是大写,处理方法
Select name as "name" from v_zhyl_zxzf_hqyzflb
加上字段别名加上双引号就可以了
补充知识:Mybatis 查询返回类型为Map 空值字段不显示
项目使用的SpringBoot、Mybatis-plus
问题描述如题:
执行sql:select userId,name,address,mobile from user
当address为空时,返回结果map中只有三个字段,userId、name、address
解决方法:
修改yml文件中Mybatis的配置,设置call-setters-on-nulls为true即可
mybatis-plus:
mapper-locations: classpath:mapper/**/*.xml
configuration:
call-setters-on-nulls: true
以上这篇解决mybatis用Map返回的字段全变大写的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
时间: 2020-11-30
在application.xml加上以下配置 mybatis-plus.configuration.map-underscore-to-camel-case=false 补充知识:mybatis中的大小写转义 在使用mybatis 时我们sql是写在xml 映射文件中,如果写的sql中有一些特殊的字符的话,在解析xml文件的时候会被转义,但我们不希望他被转义,所以我们要使用来解决. 是什么,这是XML语法. 在CDATA内部的所
1.引入依赖 com.baomidoumybatis-plus-boot-starter3.0.5
MySQL8将over作为了保留字,此时操作这个字段应当加 ``,在MybatispPlus中的做法为使用@TableField注解: 同样的,如果表名是关键字,则使用@TableName注解 @TableName("`over`") public class over extends BaseEntity { } 补充知识:mybatis-plus sql报错 字段与Mysql关键字重名 字段中包含describe字段,通过mybatis-plus插入数据一直报错,经排查,原来是与M
一.引言 Good Good Study,Day Day Up MP自带的条件构造器虽然很强大,有时候也避免不了写稍微复杂一点业务的sql,那么那么今天说说MP怎么自定义sql语句吧. 二.配置 自定义的sql当然是写在XML文件中的啦,那么首先来定义xml文件的位置,在yml配置文件如下 mybatis-plus: # 如果是放在src/main/java目录下 classpath:/com/*/*/mapper/*Mapper.xml # 如果是放在resource目录 classpath:
前言 前段时间看同事的代码,发现他用Layui+MybatisPlus做分页查询做得很规整,认真看了下代码发现这种方式不仅适用于与Layui做分页查询,在任何时候需要多表联查的时候都可以用到. 以下以Layui分页查询作为参考,在实际应用中可以灵活使用. 分页查询VO对象 @Data @AllArgsConstructor @NoArgsConstructor public class LayuiData { private Integer code=0; private Long count
本文实例讲述了Django框架orM与自定义SQL语句混合事务控制操作.分享给大家供大家参考,具体如下: 用单纯的ORM 或者单纯的自定义SQL语句,都比较好控制事务.在前面的一篇文章中已经讲过Django事务小结 ,但里面没有提到在同一个方法里面既有ORM 又有 自定义SQL 语句的情况. 如果是单纯的ORM ,可以这样做,假设已经定义好model, User,Category. from django.db import transaction ... @commit_on_success
一.引言 分页查询每个人程序猿几乎都使用过,但是有部分同学不懂什么是物理分页和逻辑分页. 物理分页:相当于执行了limit分页语句,返回部分数据.物理分页只返回部分数据占用内存小,能够获取数据库最新的状态,实施性比较强,一般适用于数据量比较大,数据更新比较频繁的场景. 逻辑分页:一次性把全部的数据取出来,通过程序进行筛选数据.如果数据量大的情况下会消耗大量的内存,由于逻辑分页只需要读取数据库一次,不能获取数据库最新状态,实施性比较差,适用于数据量小,数据稳定的场合. 那么MP中的物理分页怎么实现
问题背景 通常我们开发的时候,需要联合控制台和Navicat/PLSQL等工具进行语句的拼接检查,如果只是输出了一堆???,那么将极大降低我们的效率.因此我们需要输出完整的SQL语句以便调试. update 2020-July : 新增官方p6spy打印分析sql语句方案 解决方案(StdOutImpl) 请注意: 部分朋友反馈不生效,估计跟引入的包有一定关系,druid+mybatis-plus-boot-starter 就亲测有用.请检查是否有log4j相关实现类. 如果是applicati
1.注解方式,yml文件配置上以下就可以直接使用 mybatis-plus: mapper-locations: classpath:mapper/*.xml configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl 2.这一种网上没有,搜过好多资料都没有,我是配置多数据源,所以是在代码中写的config那么yml文件就是失效的,只能一个一个配置,到了打印sql的时候,就怎么都是找不到,后来设置的源码找到灵感,发现可
标题:按某字段合并字符串之一(简单合并) 描述:将如下形式的数据按id字段合并value字段. id value ----- ------ 1 aa 1 bb 2 aaa 2 bbb 2 ccc 需要得到结果: id value ------ ----------- 1 aa,bb 2 aaa,bbb,ccc 即:group by id, 求 value 的和(字符串相加) 1.sql2000中只能用自定义的函数解决 cr
我的感觉是,Accees数据库虽然可以称得上是小型的关系型数据库,并且也是使用的结构化查询语言SQL,但它的语法(主要体现在函数上),却类似vbscript的语法,我想,这应该和Access属于Office系列有关,基于它的开发和应用,自然就与VBA扯上关系,因而Access的函数库也就是VBA的函数库,而非SQL函数库.下面,我们来具体看下Access和SQL Server在查询语句的编写上具体的不同. 一.数据类型转换: Access: SELECT '调查'+CStr(Did) as di
1.resultMap SQL 映射XML 文件是所有sql语句放置的地方.需要定义一个workspace,一般定义为对应的接口类的路径.写好SQL语句映射文件后,需要在MyBAtis配置文件mappers标签中引用,例如: