JDBC技术

1. JDBC 概述

1.1 客户端操作数据库的方式

  • 方式1: 使用第三方客户端来访问 MySQL
  • 方式2: 使用命令行
  • 方式3:通过 Java程序 来访问 MySQL 数据库

1.2 什么是JDBC

JDBC(Java Data Base Connectivity) 是 Java 访问数据库的标准规范 . 是一种用于执行 SQL 语句的 Java API ,可以为 多种关系数据库提供统一访问,它由一组用Java 语言编写的类和接口组成。是 Java 访问数据库的标准规范。

1.3 JDBC 原理

JDBC是接口,驱动是接口的实现,没有驱动将无法完成数据库连接,从而不能操作数据库!每个数据库厂商都需 要提供自己的驱动,用来连接自己公司的数据库,也就是说驱动一般都由数据库生成厂商提供。

总结: JDBC就是由sun公司定义的一套操作所有关系型数据库的规则(接口),而数据库厂商需要实现这套接口,提供数据库 驱动jar, 我们可以使用这套接口编程,真正执行的代码是对应驱动包中的实现类。

2. JDBC 开发

2.1 数据准备

-- 创建 jdbc_user表
CREATE TABLE jdbc_user (
id INT PRIMARY KEY AUTO_INCREMENT ,
username VARCHAR(50),
PASSWORD VARCHAR(50),
birthday DATE
);
-- 添加数据
INSERT INTO jdbc_user (username, PASSWORD,birthday)
VALUES('admin1', '123','1991/12/24'),
('admin2','123','1995/12/24'),
('test1', '123','1998/12/24'),
('test2', '123','2000/12/24');

2.2 MySql驱动包

1. MySQL 驱动包添加到 jar 包库文件夹中
2. idea 中配置 jar 包库的位置
3. 创建一个新的项目 , 配置 jar 包库

2.3 API使用

1. 获取驱动 ( 可以省略 )
2. 获取连接
3. 获取 Statement 对象
4. 处理结果集 ( 只在查询时处理 )
5. 释放资源
public class JDBCDemo04 {

    public static void main(String[] args) throws SQLException {

    //1.注册驱动 可以省略

    //2.获取连接
    String url = "jdbc:mysql://localhost:3306/db4";
    Connection con = DriverManager.getConnection(url, "root", "123456");

    //3.获取 Statement对象
    Statement statement = con.createStatement();

    String sql = "select * from jdbc_user";
    //执行查询操作,返回的是一个 ResultSet 结果对象
    ResultSet resultSet = statement.executeQuery(sql);

    //4.处理结果集
    // //next 方法判断是否还有下一条数据
    // boolean next = resultSet.next();
    // System.out.println(next);
    //
    // //getXXX 方法获取数据 两种方式
    // int id = resultSet.getInt("id");//列名
    // System.out.println(id);
    //
    // int anInt = resultSet.getInt(1);//列号
    // System.out.println(anInt);

    //使用while循环
    while(resultSet.next()){
    //获取id
    int id = resultSet.getInt("id");
    //获取姓名
    String username = resultSet.getString("username");
    //获取生日
    Date birthday = resultSet.getDate("birthday");

    System.out.println(id + " = " +username + " : " + birthday);
    }

    //关闭连接
    resultSet.close();
    statement.close();
    con.close();
    }
}
public class JDBCDemo05 {
    public static void main(String[] args) {

        Connection connection = null;
        Statement statement = null;
        ResultSet resultSet = null;

        try {
            //1.注册驱动(省略)
    
            //2.获取连接
            String url = "jdbc:mysql://localhost:3306/db4";
            connection = DriverManager.getConnection(url, "root", "123456");

            //3.获取 Statement对象
            statement = connection.createStatement();
    
            String sql = "select * from jdbc_user";
            resultSet = statement.executeQuery(sql);

        } catch (SQLException e) {
            e.printStackTrace();

        } finally {
            /**
            * 开启顺序: connection ==> statement => resultSet
            * 关闭顺序: resultSet ==> statement ==> connection
            */
            try {
                connection.close();
                resultSet.close();
                statement.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值