Mybatis查询时,区分大小写操作
时间:2021-09-23 08:44:57|栏目:JAVA代码|点击: 次
登陆的时候,发现输入账号的不同大小写竟然能够登陆。
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)这样的字段进行去区分
上一篇:Springboot整合分页插件PageHelper步骤解析
栏 目:JAVA代码
下一篇:Spring Cloud Gateway 如何修改HTTP响应信息
本文标题:Mybatis查询时,区分大小写操作
本文地址:http://www.codeinn.net/misctech/176804.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




