JDBCはどのようにMySQLデータベースにアクセスし、追加、削除、チェック、および変更しますか

ドライバーパッケージをインポートし、特定のドライバークラスをロードします

ガイドパッケージ:

  • 新しいJavaプロジェクトファイルを作成し、このフォルダーにlibという名前の新しいフォルダーファイルを作成します(インポートされたパッケージの一部はこのフォルダーに配置されます)
  • mysql-connector-java-xxxx.jarをドラッグし、[ビルドパス]→[ビルドパスに追加]を右クリックします(ここではmysql-connector-java-8.0.20.jarを使用します)

特定のドライバークラスをロードします。

Class.forName("com.mysql.cj.jdbc.Driver");

データベース接続との接続を確立します

String url = "jdbc:mysql://localhost:3306/****?serverTimezone=UTC";
//****是你要访问的数据库是哪个,mysql版本5.0以上需要在后面加上serverTimezone=UTC
//String url = "jdbc:mysql://localhost:3306/****?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC"; 

String username = "****"; //数据库的用户名
String password = "****";//数据库的密码

Connection con = DriverManager.getConnection(url, username, password);

SQLステートメントを送信し、SQLステートメントを実行します(ステートメント)

操作の追加、削除、および変更:

Statement statement = connection.createStatement();

String sql = "insert into user values(1,'Jackage','857857')";//插入一条数据

int executeUpdate = statement.executeUpdate(sql);//返回值表示改动了几条数据

クエリ操作:

String sql = "select name,password from user";<em>//查询数据</em>

ResultSet rs = statement.executeQuery(sql);

結果セットの処理(クエリ)

追加、削除、および変更の結果の処理:

if (executeUpdate > 0) {
  System.out.println("操作成功!!!");
} else {
  System.out.println("未发生改动!!!!");
}

クエリの結果の処理:

while (rs.next()) {
	String uname = rs.getString("name");
	String upwd = rs.getString("password");
	System.out.println(uname+ "  " + upwd);
}

上記は、JDBCがデータベースにアクセスするための簡単な手順です。また、途中で例外をスローする必要があります。

Class.forName()がClassNotFoundExceptionをスローすることを除いて、他のすべてのメソッドはSQLExceptionをスローします

最後に、接続、ステートメント、rsを閉じる必要があります

閉じる順序は開く順序と逆であり、同時に例外をスローする必要があります

try {
 if(rs!=null)rs.close()
 if(stmt!=null) stmt.close();
 if(connection!=null)connection.close();
} catch (SQLException e) {
	e.printStackTrace();
}

最新の2020年に収集されたいくつかの高頻度のインタビューの質問(すべてドキュメントにまとめられています)には、mysql、netty、spring、thread、spring cloud、jvm、ソースコード、アルゴリズム、その他の詳細な説明など、多くの乾物があります。詳細な学習計画、インタビュー質問の並べ替えなど。これらのコンテンツを取得する必要がある場合は、次のようなQを追加してください:11604713672

おすすめ

転載: blog.csdn.net/weixin_51495453/article/details/113615533