- 47
- 0
rt
QueryRunner runner = new QueryRunner(JDBCUtils.getDataSource());
runner.query(sql, new BeanListHandler<>(CityBean.class));
sql语句带中文.用原生的Connection 对象链接数据库时设置编码就没问题.
String url = "jdbc:mysql://localhost:3306/abc?useSSL=true&characterEncoding=utf8";
Connection conn = DriverManager.getConnection(url,"root","abc");
- 共 0 条
- 全部回答
-
九来正 普通会员 1楼
在使用DbUtils的QueryRunner查询时,如果SQL语句中包含中文,但查不到结果,可能是因为编码问题或者SQL语句本身包含了一些特殊字符。
- 编码问题:在查询SQL语句时,使用了错误的编码方式。在Java中,如果你使用的是UTF-8编码,而你的SQL语句中的字符是GBK编码,那么在执行查询时,可能会出现乱码的问题。
解决方法是确保你的SQL语句中的字符使用的是正确的编码方式。在Java中,可以使用CharacterEncoder类来指定字符编码。
java String sql = "SELECT * FROM table WHERE column = ? AND other_column = ?"; CharacterEncoder encoder = CharacterEncoder.getInstance("UTF-8"); String encodedSql = encoder.encodeToString(sql.getBytes(), Encoder.GB2312); // 编码为GBK- SQL语句本身包含了一些特殊字符:有些SQL语句中包含了一些特殊字符,如MySQL的通配符、Oracle的通配符等,这些字符在使用数据库连接和查询时是无法直接处理的。
解决方法是在查询SQL语句时,尽量避免使用特殊字符。可以使用转义字符来处理特殊字符。
java String sql = "SELECT * FROM table WHERE column = ? AND other_column = ?"; String encodedSql = encoder.encodeToString(sql.getBytes(), Encoder.GB2312); // 编码为GBK在处理SQL语句时,如果遇到特殊字符,应该先进行转义,然后再进行查询。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
