idea中mysql中文查询语句执行报错

前提:使用JdbcTemplate连接数据库,在执行查询语句时一直报错,但是sql语句在sqlyong中正常执行。

 try {
            //1.定义sqlyuju
            String sql = "select * from user where username = ? and password = ?";
            //2.执行sql,返会user对象
            User user = template.queryForObject(sql, new BeanPropertyRowMapper<User>(User.class), username, password);
            System.out.println(user);
            return user;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }

错误出现在sql语句中,原因是username为中文。

首先查看了数据库以及表的编码格式,均为utf-8,在网上找了一些解决办法都没有解决,最后通过更改连接数据的配置文件,强制设置字符集编码,成功解决。

jdbc:mysql://localhost:3306/mysql?useUnicode=true&characterEncoding=UTF-8  

为确保字符集完全统一,在建表、建库的时候要强制设定统一字符集。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

促酒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值