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

在这里插入图片描述

此时需要如下配置:

在这里插入图片描述

相关文章

连接数据库的方式:第一种方式:ODBC:开放数据库连接是微软...
JDBCRequest 使用VariableNamesmysql:数据库连接池对象var...
 1.JDBCDBC(JavaDataBaseConnectivity):Java数据库连接技术...
1.需要jar包的支持:java.sqljavax.sqlmysql-conneter-java....
1.简介Activiti是一个业务流程管理(BPM)框架,它是覆盖了业务...
1.JDBC体系系统一组规范:接口JDBC接口(API)包括两个层次:...