Mybatis查询时,区分大小写操作
作者:旧单车 发布时间:2021-08-11 14:10:54
标签:Mybatis,查询,大小写
登陆的时候,发现输入账号的不同大小写竟然能够登陆。
Mybatis查询代码如下
<select id="selectById" parameterType="java.lang.String" resultType="com.deep.web.func.entity.UserData">
select <include refid="sql_columns" /> from <include refid="table_name" />
<where>
userName=#{userName}
</where>
</select>
通过多次断点查询后,发现是上面的xml文件没写对。
userName=#{userName}
这样写不匹配大小写。
解决办法,加个BINARY
<select id="selectById" parameterType="java.lang.String" resultType="com.deep.web.func.entity.UserData">
select <include refid="sql_columns" /> from <include refid="table_name" />
<where>
BINARY userId=#{uid}
</where>
</select>
补充知识:mybatis不区分大小写问题
起因是在java的实体类里定义了两个相同的字段名字只是区分了其中一个字母的大小写,如(cellcode,cellCode)在Myatis的sql语句中进行查询,观看了前台返回数据发现与预想的数据不一样,后来发现是因为mybatis中不区分大小写造成的程序小bug,
在应用中一定要注意在实体类中不能定义类似与(cellcode,cellCode)这样的字段进行去区分
来源:https://blog.csdn.net/weixin_43001280/article/details/82802308
0
投稿
猜你喜欢
- java Lock接口java.util.concurrent.locks接口Lockpublic interface Loce
- ProgressBar进度条,分为旋转进度条和水平进度条,进度条的样式根据需要自定义,之前一直不明白进度条如何在实际项目中使用,网上演示进度
- 目录多通道分离API操作通道合并API操作结果源码多通道分离APIpublic static void split(Mat m, List&
- 如果对空的对象进行操作,就会造成意外错误。所以我们在使用对象前,一般会进行非空判断接下来介绍我知道的三种判断非空方法:1、if判断这个最直接
- 相信很多人在读取文件的时候都会碰到乱码的情况,所谓乱码就是错乱的编码的意思,造成乱码的是由于编码不一致导致的。演示程序:新建3个文本文件:编
- 实例如下:public class ConfigOperator { #region 从配置文件获取V
- 背景:在写登录界面时,老板就觉得在输入密码的时候谈出来的输入法软键盘把登录按钮遮挡住了(入下图所示,不爽),连输入框都被挡了一半
- 1.使用WIFI首先设置用户权限<uses-permission android:name="android.permiss
- 本文实例讲述了Android开发使用Messenger及Handler进行通信的方法。分享给大家供大家参考,具体如下:1. 客户端servi
- 先看Demo运行效果SharedPreferences详解SharedPreferences是Android平台上一个轻量级的存储类,用来保
- SpringBoot整合第三方技术一、整合Junit新建一个SpringBoot项目使用@SpringBootTest标签在test测试包内
- 添加记录后获取主键ID,这是一个很常见的需求,特别是在一次前端调用中需要插入多个表的场景。除了添加单条记录时获取主键值,有时候可能需要获取批
- 本文实例讲述了Android自定义ViewPager的方法。分享给大家供大家参考,具体如下:package com.rong.activit
- 方法一第一步:添加引用using System.Printing;第二步:代码public static List<string>
- 今年新开Java课程第一步就是…配置环境就从Java的环境配置开始好了以下是正式的步骤首先,从Oracle的官网下载jdk的安装包点我下载J
- 在Android中通常用MediaPlayer来播放一些媒体文件,对于音频文件来说只需直接使用MeidaPlayer结合几句代码即可,但是对
- 这个应该是简易版的美图秀秀(小伙伴们吐槽:你这也叫简易版的??我们看着怎么不像啊……)。好吧,只是在图片上绘制涂鸦,然后保存。一、选择图片这
- private void button2_Click(object sender, EventArgs e) &nbs
- 前提其实很多框架都是对另一个框架的封装,我们在学习类似的框架的时候,难免会进入误区,所以我们就应该对其进行总结归纳,对比。本文就是对hibe
- 主线程和子线程的区别每个线程都有一个唯一标示符,来区分线程中的主次关系的说法。 线程唯一标示符:Thread.CurrentThread.M