(以MySQL数据库为例)


JDBC简介

JDBC(Java DataBase Connectivity)是Java和数据库之间的一个桥梁,是一个规范而不是一个实现,能够执行SQL语句。它由一组用Java语言编写的类和接口组成。各种不同类型的数据库都有相应的实现。

需要的相关依赖(以Windows为例)

  • 系统中需要安装MySQL数据库
  • 需要下载配置相应JAR包

  • 第一步——src的同级目录下创建名为lib的包,同时将下载好的JAR包复制到lib目录下

image.png

  • 第二步——在左上角的File中点击ProjectStructure打开项目结构——>Modules——>Dependencies将依赖加载到项目中

image.png

  • 第三步——点击 + 选择JARs or directories然后找到当前项目中lib文件夹的路径,在其中选择刚刚添加的JAR包然后点击Apply——>OK

代码实现

MySQL 8.0以上版本和8.0以下版本的驱动名和数据库URL是不同的

8.0以上版本的驱动名和数据库URL为
String _JDBC_DRIVER _= "com.mysql.cj.jdbc.Driver";
String _DB_URL _= "jdbc:mysql://localhost:3306/数据库名?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";

8.0以下版本的驱动名和数据库URL为
String _JDBC_DRIVER _= "com.mysql.jdbc.Driver";
String _DB_URL _= "jdbc:mysql://localhost:3306/test";

(根据自己数据库的版本选择合适的驱动名和数据库URL)

整体代码

(下一节有代码解读——基本步骤)

  1. import java.sql.*;
  2. public class test {
  3. // MySQL 8.0 以下版本 - JDBC 驱动名及数据库 URL
  4. static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
  5. static final String DB_URL = "jdbc:mysql://localhost:3306/test";
  6. // 数据库的用户名与密码,需要根据自己的设置
  7. static final String USER = "root";
  8. static final String PASS = "123456";
  9. public static void main(String[] args) {
  10. Connection conn = null;
  11. Statement stmt = null;
  12. try{
  13. // 注册 JDBC 驱动
  14. Class.forName(JDBC_DRIVER);
  15. // 连接数据库
  16. System.out.println("连接数据库...");
  17. conn = DriverManager.getConnection(DB_URL,USER,PASS);
  18. // 执行查询
  19. System.out.println(" 实例化Statement对象...");
  20. stmt = conn.createStatement();
  21. String sql;
  22. sql = "SELECT user_id, username, ustatus FROM t_book";
  23. ResultSet rs = stmt.executeQuery(sql);
  24. // 展开结果集数据库
  25. while(rs.next()){
  26. // 通过字段检索
  27. String id = rs.getString("user_id");
  28. String name = rs.getString("username");
  29. String url = rs.getString("ustatus");
  30. // 输出数据
  31. System.out.print("ID: " + id);
  32. System.out.print(", 站点名称: " + name);
  33. System.out.print(", 站点 URL: " + url);
  34. System.out.print("\n");
  35. }
  36. // 完成后关闭
  37. rs.close();
  38. stmt.close();
  39. conn.close();
  40. }catch(SQLException se){
  41. // 处理 JDBC 错误
  42. se.printStackTrace();
  43. }catch(Exception e){
  44. // 处理 Class.forName 错误
  45. e.printStackTrace();
  46. }finally{
  47. // 关闭资源
  48. try{
  49. if(stmt!=null) stmt.close();
  50. }catch(SQLException se2){
  51. }// 什么都不做
  52. try{
  53. if(conn!=null) conn.close();
  54. }catch(SQLException se){
  55. se.printStackTrace();
  56. }
  57. }
  58. System.out.println("Goodbye!");
  59. }
  60. }
  1. import java.sql.*;
  2. public class Jdbc_Test {
  3. static final String JDBC_Driver= "com.mysql.jdbc.Driver";
  4. static final String DB_URL= "jdbc:mysql://localhost:3306/test";
  5. static final String USER="root";
  6. static final String PASS="123456";
  7. public static void main(String[] args) {
  8. try {
  9. Class.forName(JDBC_Driver);
  10. Connection connection = DriverManager.getConnection(DB_URL,USER,PASS);
  11. Statement statement = connection.createStatement();
  12. String sql="SELECT user_id, username, ustatus FROM t_book";
  13. ResultSet resultSet = statement.executeQuery(sql);
  14. while (resultSet.next()){
  15. String id=resultSet.getString("user_id");
  16. String name=resultSet.getString("username");
  17. String status=resultSet.getString("ustatus");
  18. System.out.println("ID:"+id);
  19. System.out.println("name:"+name);
  20. System.out.println("status:"+status);
  21. }
  22. resultSet.close();
  23. statement.close();
  24. connection.close();
  25. }catch (SQLException se){
  26. se.printStackTrace();
  27. }catch (Exception e){
  28. e.printStackTrace();
  29. }finally {
  30. try {
  31. if (statement!=nll)
  32. }
  33. }
  34. }
  35. }

基本步骤

第一步:注册JDBC驱动
Class._forName_(_驱动名_);**第二步:连接数据库
Connection conn = DriverManager._getConnection_(_数据库URL_,_数据库用户名_,_密码_);
第三步:测试数据库是否连接成功
执行一个SQL语句检查是否成功执行,如果成功执行就表明数据库连接成功

  1. //实例化Statement对象
  2. Statement stmt = conn.createStatement();
  3. String sql;
  4. sql = "SELECT user_id, username, ustatus FROM t_book";
  5. //执行SQL语句
  6. ResultSet rs = stmt.executeQuery(sql);
  7. // 展开结果集数据库
  8. while(rs.next()){
  9. // 通过字段检索
  10. String id = rs.getString("user_id");
  11. String name = rs.getString("username");
  12. String url = rs.getString("ustatus");
  13. // 输出数据
  14. System.out.print("ID: " + id);
  15. System.out.print(", 站点名称: " + name);
  16. System.out.print(", 站点 URL: " + url);
  17. System.out.print("\n");
  18. }

第四步:关闭连接

  1. rs.close();
  2. stmt.close();
  3. conn.close();