jdbcTemplate.queryForInt 查询出错
java
public int findByUser(String username, String password) { String sql = "select count(*) from userinfo where username=? and password=?"; return jdbcTemplate.queryForInt(sql, username, password); }
上面代码是通过spring方式查询数据库判断用户名密码是否正确,但遇到一个问题就是当然参数值是中文的时候,即使数据库中有这个账号也查询不到,换成英文就可以。不知道什么原因。
下面是测试代码
java
@Test public void hasMatchUser() { boolean a = userinfoService.hasMatchUser("wenti", "wentis"); assertTrue(a); // return true; 数据库中有只账号及密码 boolean b = userinfoService.hasMatchUser("问题", "wentis"); assertTrue(b); // return false; 数据库中有只账号及密码 }
下面是数据库
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
也许是编码问题,看看db的编码是什么?你用jdbcTemplate存一个中文的数据,然后看db里show出来的是正确的么
mysql下执行
查看字符编码,不是UTF-8的话修改mysql.cnf,Windows是mysql.ini