微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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的注释,表明没有对源代码进行编译。

在这里插入图片描述

此时需要如下配置:

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐