jdbc--Mysql例外問題の要約

1、java.sql.SQLException:結果セットの開始前

この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パッケージのコードを開くと、実装メソッドはコンパイルされたコードのコメントを表示し、ソースコードがコンパイルされていないことを示します。

ここに画像の説明を挿入
この時点で、次の構成が必要です。
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/qq_38705144/article/details/110671856