Mybatis查询时,区分大小写操作

作者:旧单车 时间:2021-08-11 14:10:54 

登陆的时候,发现输入账号的不同大小写竟然能够登陆。

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

标签:Mybatis,查询,大小写
0
投稿

猜你喜欢

  • 一个简单的toolabar结合drawlayout使用方法

    2023-05-12 15:01:16
  • mybatis原理概述入门教程

    2023-10-08 13:10:57
  • C#调用动态库

    2021-07-30 03:46:25
  • Android自定义圆形进度条

    2021-08-01 14:29:28
  • Java 数据结构与算法系列精讲之哈希算法实现

    2022-01-10 23:56:07
  • MyBatis的SQL执行结果和客户端执行结果不一致问题排查

    2022-12-30 20:37:22
  • JVM类运行机制实现原理解析

    2023-11-01 18:26:20
  • SWT(JFace)体验之模拟BorderLayout布局

    2022-08-17 18:09:51
  • Javaweb基础入门HTML之table与form

    2022-11-28 16:09:16
  • Java设计模式之桥接模式的示例详解

    2023-10-03 21:56:00
  • 简单了解Java中的可重入锁

    2023-12-18 12:29:19
  • Android ViewPager实现页面左右切换效果

    2022-12-28 04:49:35
  • 小议Java中final关键字使用时的注意点

    2022-12-04 08:40:45
  • springboot 整合hbase的示例代码

    2023-02-11 19:35:20
  • 使用Jitpack发布开源Java库的详细流程

    2021-12-18 06:55:58
  • Android开发实现模仿微信小窗口功能【Dialog对话框风格窗口】

    2022-01-27 10:11:01
  • Android实现每天定时提醒功能

    2021-10-18 09:52:33
  • intellij idea中spring boot properties文件不能自动提示问题解决

    2021-09-24 09:53:46
  • C#实现AddRange为数组添加多个元素的方法

    2023-06-26 13:34:25
  • 使用TypeScript开发微信小程序的方法

    2023-08-30 10:42:03
  • asp之家 软件编程 m.aspxhome.com