以下只针对MySQL,别的数据库我没试过
因为有一个字段要区分大小写,所以网上搜了一下,有两种解决办法:
- 字段的编码从utf8_general_ci改为utf8_bin
- 查询时加上BINARY,例如
select ··· from ··· where binary name = ?
这两种方法二选一。
我用这两种方法,任意一种,在navicat里面写sql语句执行,都是成功的。
问题
在Java代码里,使用Spring Data JPA做数据库查询时,虽然数据库设置了utf8_bin
的编码方式,普通的findByName等方法是大小写敏感的,findByNameIn这种带in的方法就不行了,需要自己手动写原生SQL语句加上BINARY才行。
不知道为什么。
tips
https://blog.csdn.net/qq_40562787/article/details/80633456 这篇文章说:
![](https://img.haomeiwen.com/i17497140/06f6750f3405328f.png)
我没试过,因为他这个说法与别人不同,别人的说法无效,所以先记着
网友评论