jdbc--Mysql异常问题总结

1、java.sql.SQLException: Before start of result set

这个 SQL 异常引起异常的原因是因为 之前没有***.next()方法;
当第一次执行***.next()的时候游标位置在表的第一个位置,也就是说处于一个空的位置 但是如果没有***.next() ,则这个位置是空,无法读取到表的数据。

注意:一般使用while的循环,如果使用for()循环,易出现此类问题,由于for循环在最后才执行***.next()的方法,将会使第一次查询出现SQLException。

2、特殊的SQL批量删除和模糊查询是不能使用占位符赋值的

delete form t_user where id in (?)                                     x
select * from t_user where username like '%?%'               x

原因:当通过占位符为字符串类型的数据进行赋值时,会自动在字符串两边加单引号。

3、首先需要在创建预编译对象时,设置一个常量,Statement.Return_GENERATED_KEYS(值1),可以通过预编译对象ps.getGeneratedKey
rs.next();
rs.getInt();

4、批处理
(1)在url中要加一个参数

  • rewriteBatchedStatements=true
    
  • 那么我们的url就变成了  jdbc:mysql://localhost:3306/test?rewriteBatchedStatements=true
    
  • 这里的?,表示?后面是客户端给服务器端传的参数,多个参数直接使用&分割
    

5、Idea如果打开后期添加的jar包中的代码,实现方法显示complied code的注释,表明没有对源代码进行编译。
jdbc--Mysql异常问题总结
此时需要如下配置:
jdbc--Mysql异常问题总结

上一篇:android studio通过jdbc接口连mysql


下一篇:抽象工厂模式在源码中的使用