JDBC入门

JDBC使用方法

本质就是 socket 链接

简单入门

package JDBC01;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class JDBC01 {
    public static void main(String[] args) throws Exception {
        //注册驱动
        //自动注册了
        //Class.forName("com.mysql.jdbc.Driver");   mysql5之后不需要写了
        //获取链接
        Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/db01", "root", "zcx2002@");
        //获取执行者对象
        Statement statement = connection.createStatement();
        //执行sql并接收结果
        String sql = "SELECT * FROM users";
        ResultSet resultSet = statement.executeQuery(sql);
        //处理结果
        while(resultSet.next()){
            System.out.println(resultSet.getInt("id") + "\t" + resultSet.getString("name") + "\t" + resultSet.getString("address"));
        }
        //释放资源
        resultSet.close();
        statement.close();
        connection.close();
    }
}

功能类

DriverManager

  • 注册给定的驱动程序 static void registerDriver(Driver driver);
  • 写代码使用 Class.forName("com.mysql.jdbc.Driver");
  • 在com.mysql.jdbc.Driver类中存在静态代码块调用了 registerDriver(new Driver); 所以不用重复调用

mysql5 之后可以省略注册驱动的步骤。在jar包中存在一个配置文件指定了com.mysql.jdbc.Driver

Connection

  • 获取执行者对象

    获取普通执行者对象 Statement createStatement();

    获取预编译执行者对象 PreparedStatement preparedStatement(String sql);

  • 管理事务

开启事务 setAutoCommit(boolean f); f == false 则开启事务

提交事务 commit();

回滚事务 rollback();

  • 释放资源

close();

Statement

  • 执行DML(增删改)语句

int executeUpdate(String sql); 返回的是影响的行数

参数sql :可以执行 insert、update、delete 语句

  • 执行DQL(查询)

ResultSet executeQuery(String sql); 返回的是封装的查询结果

参数sql :可以执行 select 语句

  • 释放资源

close();

ResultSet

  • 判断是否还有数据

boolean next(); 有数据就返回 true,索引向下移动一行

  • 获取数据

XXX getXXX("列名"); XXX就是该列的数据类型

  • 释放资源

close();

posted @ 2022-02-02 18:06  Xuuxxi  阅读(20)  评论(0编辑  收藏  举报