mysql的sql查询语句含有中文,rs.next()就false的解决办法

之前在学习mysql.properties这个文件,其中里面的dbUrl=jdbc\:mysql\://127.0.0.1\:3306/stuuser?useUnicode\=true&characterEncode\:utf-8,是这么写的,结果数据查询输入非中文的都可以查询,但是一旦输入带有中文的字符,数据库就查不了。后面翻看SqlHelper.java的代码,测试又测试,发现在rs.next()并不能true,于是各种查阅,研究,终于得出结论,上面的dbUrl的语句含有转义字符,所以就会出现中文无法查询的问题。要将其去掉转义字符。正确的语句是:dbUrl=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8

这样就解决了中文无法查询结果的问题。不过还是要感谢http://blog.csdn.net/dudefu011/article/details/47948301这位博主,给我提供的思路出发点。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
这段代码是使用Java语言连接到MySQL数据库并执行查询操作,然后将结果集循环输出。下面是代码的具体解释: 1. 导入驱动包: import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; 这里导入了Java连接MySQL数据库所需的驱动包。 2. 建立连接: String url ="jdbc:mysql://127.0.0.1:3306/biao"; Connection con=DriverManager.getConnection(url,"root","qqww1122"); 这里建立了一个到MySQL数据库的连接,其中url表示连接的地址,"root"和"qqww1122"分别是数据库的用户名和密码。 3. 创建语句对象: Statement stmt=con.createStatement(); 这里创建了一个语句对象,用于执行SQL语句。 4. 执行查询操作: ResultSet rs=stmt.executeQuery("select * from Stus"); 这里执行了一个查询操作,从名为Stus的表中选取所有数据。查询结果存储在ResultSet对象中。 5. 循环输出结果集: while(rs.next()){ System.out.print(rs.getString(1) + " "); System.out.print(rs.getString(2) + "\t"); System.out.print(rs.getString(3) + " "); System.out.print(rs.getString(4) + "\t "); System.out.println(rs.getInt(5)); } 这里使用了while循环,将结果集中的每一行数据输出到控制台。getString()方法用于获取字符串类型的数据,getInt()方法用于获取整型数据。 整个程序的作用是连接到MySQL数据库,查询Stus表中的所有数据并输出到控制台。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值