mybatis实体类字段大小写及字段获取不到值问题
目录
- mybatis实体类字段大小写及字段获取不到值
- 问题
- 解决办法
- 推断
- mybatis下部分字段值无法获取(null)
- 解决之前
- 解决方法
mybatis实体类字段大小写及字段获取不到值
问题
由于前期设计问题,项目中需要用到的一个字段 rootpath,所以我再实体层加了这么一个字段。
然后,我在前台向后台传数据的时候,这个rootpath一直都获取不到值。经过排查对比,发现我写的set和get方法名称后面的RootPath 中的P字母大写导致的。
解决办法
将set和get方法后面的P改为小写p就可以了
推断
mybatis认为rootpath是一个单词,但是我错误的认为了是两个单词,然后再写set和get的时候给P大写了,所以导致了字段获取不到值!
mybatis下部分字段值无法获取(null)
在使用mybatis-plus做多表间查询的时候,遇到了一个问题,多表查询时,存在部分字段无法获取到值,但是其它字段却没问题。于是本人尝试单独获取各个表的字段值发现都没问题,最后查阅了资料发现是原来我在表中存在带下划线的字段的原因。
解决之前
数据库字段
pojo
从上面不难看出我pojo中采用了驼峰命名的方式,但是我在mybatis-conf.xml,即mybatis配置文件中却没有开启驼峰命名
解决方法
开启驼峰命名!!!!
顺带一提,如果你开启了驼峰命名规则,你的pojo中的属性必须全部遵循驼峰命名的规则,特别在多表联查的情况下,不能一部分字段是驼峰,一部分是下划线,这样也会导致部分字段查询不出来!!!!
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
解决mybatis用Map返回的字段全变大写的问题
mybatis通常情况都是用javabean作为resultType的对象,但是有时也可以使用Map去接收. <select id="execute" parameterType="String" resultType="java.util.HashMap"> ${value} </select> 如果使用Map,返回来的字段名全是大写,处理方法 Select name as "name" from v
-
Mybatis查询时,区分大小写操作
登陆的时候,发现输入账号的不同大小写竟然能够登陆. Mybatis查询代码如下 <select id="selectById" parameterType="java.lang.String" resultType="com.deep.web.func.entity.UserData"> select <include refid="sql_columns" /> from <include re
-
mybatis使用resultMap获取不到值的解决方案
mybatis resultMap获取不到值 <resultMap type="com.fc.model.Shop" id="employeeMap"> <id column="shop_id" property="shopId"></id> <result column="name" property="name"></result
-
mybatis 实体类字段大小写问题 字段获取不到值的解决
目录 mybatis实体类字段大小写问题 字段获取不到值 解决办法 推断 踩坑mybatis 转换大小写问题 解决方法 mybatis实体类字段大小写问题 字段获取不到值 由于前期设计问题,项目中需要用到的一个字段 rootpath,所以我再实体层加了这么一个字段. 然后,我在前台向后台传数据的时候,这个rootpath一直都获取不到值.经过排查对比,发现我写的set和get方法名称后面的RootPath 中的P字母大写导致的. 解决办法 将set和get方法后面的P改为小写p就可以了 推断 m
-
mybatis实体类字段大小写及字段获取不到值问题
目录 mybatis实体类字段大小写及字段获取不到值 问题 解决办法 推断 mybatis下部分字段值无法获取(null) 解决之前 解决方法 mybatis实体类字段大小写及字段获取不到值 问题 由于前期设计问题,项目中需要用到的一个字段 rootpath,所以我再实体层加了这么一个字段. 然后,我在前台向后台传数据的时候,这个rootpath一直都获取不到值.经过排查对比,发现我写的set和get方法名称后面的RootPath 中的P字母大写导致的. 解决办法 将set和get方法后面的P改
-
Mybatis实体类对象入参查询的笔记
目录 Mybatis实体类对象入参查询 测试实体类对象结构如下 测试文件内容 Mybatis中的参数深入 一.mybatis的参数 parameterType参数 二.mybatis的输出结果的封装 resultType(输出类型) Mybatis实体类对象入参查询 测试实体类对象结构如下 /** 使用lobmok插件 */ @Getter @Setter @NoArgsConstructor @ToString @EqualsAndHashCode public class Vendor {
-
SpringBoot 返回Json实体类属性大小写的解决
目录 返回Json实体类属性大小写问题 Json转换大小写的坑 返回Json实体类属性大小写问题 总归上述问题Rt,其实今天开发刚遇到,当时找了半天为啥前台传参后台却接收不到,原来是返回的时候返回小写,但是前台依旧大写传参. 查了很多后发现其实是json返回的时候把首字母变小写了,也就是Spring Boot中Jackson的功劳 百度后得@JsonProperty注解完美解决.但与此同时会出现两个问题 如果注解放到属性上,则返回的时候既有大写也有小写, @JsonProperty("Ao&qu
-
Mybatis实体类和表映射问题(推荐)
本文是小编给大家带来的mybatis中实体类和表映射问题的知识,学习本教程能够快速帮助我们解决字段名与实体类属性名不相同的冲突问题,需要的朋友一起看看吧! 一.准备演示需要使用的表和数据 CREATE TABLE orders( order_id INT PRIMARY KEY AUTO_INCREMENT, order_no VARCHAR(20), order_price FLOAT ); INSERT INTO orders(order_no, order_price) VALUES('a
-
Mybatis实体类属性与数据库不一致解决方案
当实体类属性和数据库不一致时,使用mybatis查询数据库返回实体类自动封装就会出现问题.针对这种情况,有两种解决方案. 1.使用别名查询 <!-- 配置查询所有操作 --> <select id="findAll" resultType="com.itheima.domain.User"> select id as userId,username as userName,birthday as userBirthday, sex as us
-
mybatis-plus实体类中出现非数据库映射字段解决办法
在使用mybatis 或者其它mybatis的二次开发框架时(例如mybatis-plus),有时候数据库中的字段和实体类中的字段可能不一致.例如数据库中只有3个字段,而实体类中除了数据库中对应映射的三个字段以外还有多余的其余字段,例如实体类中有5个字段.那么运行就会报错 如果需要在mybatis映射实体类中加入非数据库映射字段.那么可以使用@TableField(exist = false)进行标识对应字段不属于数据库的映射字段即可. 当然可以点击进入@TableField(exist = f
-
Mybatis之映射实体类中不区分大小写的解决
目录 Mybatis 映射实体类中不区分大小写 解决办法 问题解决 Mybatis的一些小细节 问题一. #{}和${}的区别是什么? 问题二. 当实体类中的属性名和表中的字段名不一样,怎么办 问题三. 模糊查询like语句该怎么写 问题四. 通常一个Xml映射文件 问题五. Mybatis是如何将sql执行结果封装为目标对象并返回的 问题六. 如何获取自动生成的(主)键值 问题七. 在mapper中如何传递多个参数 问题八. Mybatis动态sql是做什么的 问题九. Mybatis的Xml
-
Mybatis如何自动生成数据库表的实体类
第一步引入jar 第二步,配置文本文件 # 数据库驱动jar 路径 本地创库的包 drive.class.path=C:/Users/Administrator/.m2/repository/mysql/mysql-connector-java/5.1.30/mysql-connector-java-5.1.30.jar # 数据库连接参数 jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://192.168.1.188:3306/sxh
-
springboot+mybatis通过实体类自动生成数据库表的方法
前言 本章介绍使用mybatis结合mysql数据库自动根据实体类生成相关的数据库表. 首先引入相关的pom包我这里使用的是springboot2.1.8.RELEASE的版本 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.0</ve
随机推荐
- js简单的弹出框有关闭按钮
- 详解Vue2.0里过滤器容易踩到的坑
- Vue2几种常见开局方式详解
- Linux VPS/服务器 网站及数据库自动本地备份并FTP上传备份脚本
- 根据判断浏览器类型屏幕分辨率自动调用不同CSS的代码
- Python Django使用forms来实现评论功能
- python中pass语句用法实例分析
- python开发之字符串string操作方法实例详解
- 掌握JDK1.5枚举类型
- js中的eval()函数把含有转义字符的字符串转换成Object对象的方法
- 用vbs读取index.dat内容的实现代码
- 基于jquery实现全屏滚动效果
- Bootstrap每天必学之附加导航(Affix)插件
- Js判断CSS文件加载完毕的具体实现
- 你所未知的3种Node.js代码优化方式
- 深入理解java中的synchronized关键字
- Android之网络通信案例分析
- 冬天怎样给皮肤补水?
- Spring Cloud学习教程之DiscoveryClient的深入探究
- ES6中Symbol、Set和Map用法详解