初识Java的JDBC编程

Java的JDBC编程

  • JDBC,即Java Database Connectivity,java数据库连接。是一种用于执行SQL语句的Java API,它是Java中的数据库连接规范。这个API由java.sql.,javax.sql. 包中的一些类和接口组成,它为Java开发人员操作数据库提供了一个标准的API,可以为多种关系数据库提供统一访问。

1.JDBC工作原理

  • JDBC访问数据库层次结构:
    在这里插入图片描述
  • JDBC优势
  1. Java语言访问数据库操作完全面向抽象接口编程;
  2. 开发数据库应用不用限定在特定数据库厂商的API;
  3. 程序的可移植性大大增强;

2.JDBC的使用

  • JDBC使用步骤
  1. 创建数据库连接Connection;
  2. 创建操作命令Statement;
  3. 使用操作命令来执行SQL;
  4. 处理结果集ResultSet;
  5. 释放资源;

2.1建立数据库连接

  • MySQL数据连接的URL参数格式如下:
    jdbc:mysql://服务器地址:端口/数据库名?参数名=参数值
/* 加载JDBC驱动程序:反射,这样调用初始化com.mysql.jdbc.Driver类,即将该类加载到JVM方法
区,并执行该类的静态方法块、静态属性。*/
Class.forName("com.mysql.jdbc.Driver");
// 创建数据库连接
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/students?user=root&password=zg0718&useSSL=false&useUnicode=true&characterEncoding=UTF-8");

2.2创建操作命令(Statement)

Statement statement = connection.createStatement();

2.3执行SQL语句

  • 这里executeQuery是查询方法,里面和Mysql语句一样;
ResultSet resultSet= statement.executeQuery("select id, name, sex, age from student");

2.4处理结果集

while(resultSet.next()){
    
    //遍历每一天记录
            String id = resultSet.getString("id");
            String name = resultSet.getString("name");
            String sex = resultSet.getNString("sex");
            int age = resultSet.getInt("age");
            System.out.printf("id = %s,name = %s,sex = %s,age = %s%n",id,name,sex,age);
        }

2.5释放资源(关闭结果集,命令,连接)

//逆序关闭
if(resultSet != null){
    
    
            try {
    
    
                resultSet.close();
            } catch (SQLException throwables) {
    
    
                throwables.printStackTrace();
            }
        }
        if (statement != null){
    
    
            try {
    
    
                statement.close();
            } catch (SQLException throwables) {
    
    
                throwables.printStackTrace();
            }
        }
        if (connection != null){
    
    
            try {
    
    
                connection.close();
            } catch (SQLException throwables) {
    
    
                throwables.printStackTrace();
            }
        }

3.上述所有操作代码

package test.jdbc;

import java.sql.*;

public class Main {
    
    
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
    
    
        //1.加载jdbc驱动程序:反射,这样调用初始化com.mysql.jdbc.Driver类,即将该类加载到JVM方法区,并执行该类的静态方法块、静态属性。
        Class.forName("com.mysql.jdbc.Driver");
        //2.创建数据库连接
        Connection connection =
                DriverManager.getConnection("jdbc:mysql://localhost:3306/students?user=root&password=zg0718&useSSL=false&useUnicode=true&characterEncoding=UTF-8");

        Statement statement = connection.createStatement();
        //查询
        ResultSet resultSet= statement.executeQuery("select id, name, sex, age from student");

        //3.处理结果集
        while(resultSet.next()){
    
    
            String id = resultSet.getString("id");
            String name = resultSet.getString("name");
            String sex = resultSet.getNString("sex");
            int age = resultSet.getInt("age");
            System.out.printf("id = %s,name = %s,sex = %s,age = %s%n",id,name,sex,age);
        }

        //关闭结果集
        if(resultSet != null){
    
    
            try {
    
    
                resultSet.close();
            } catch (SQLException throwables) {
    
    
                throwables.printStackTrace();
            }
        }
        if (statement != null){
    
    
            try {
    
    
                statement.close();
            } catch (SQLException throwables) {
    
    
                throwables.printStackTrace();
            }
        }
        if (connection != null){
    
    
            try {
    
    
                connection.close();
            } catch (SQLException throwables) {
    
    
                throwables.printStackTrace();
            }
        }
    }
  • 这里就输出了查询的学生表(这里的学生表是自己之前在Mysql里面创建好的);
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_45665172/article/details/109784974