JDBC

JDBC

什么是JDBC

程序是无法直接访问数据库的,需要安装数据库驱动,数据库驱动的实现是由数据库厂商来实现的。这样的话,每种数据库都有对应驱动,mysql由mysql的驱动,redis有redis的驱动,Java程序需要对每一个数据库定制一套连接方式。为了提高开发的效率,可以在Java与数据库驱动直接添加一层,使程序可以通过同一套代码来操作数据库,这一层就叫做JDBC(Java Database Connectivity),它是SUN公司指定的一套接口,开发时只要调用相关接口即可,显著提高了开发的效率。

配置数据库驱动

  • 在对应的数据库厂商网站获取对应的jar包

https://dev.mysql.com/downloads/connector/j/5.1.html

  • 将jar包放在lib目录下

  • 将lib设置为库文件

image-20201104112049296

JDBC程序

  1. 加载驱动
  2. 设置用户信息和url
  3. 连接数据库,获取数据库对象Connection
  4. 获取执行SQL的对象Statement
  5. 通过Statement执行SQL,返回结果集
  6. 释放连接
package JDBC;

import java.sql.*;

public class Demo01 {

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

        //1、加载驱动
        //DriverManager.registerDriver(new com.mysql.jdbc.Driver())
        Class.forName("com.mysql.jdbc.Driver");

        //2、用户信息和url
        String url = "jdbc:mysql://localhost:3306/school?useUnicode=true&characterEncoding=utf8&useSSL=false";
        String username = "root";
        String password = "123";

        //3、连接成功,返回数据库对象
        Connection connection = DriverManager.getConnection(url,username,password);

        //4、执行SQL对象
        Statement statement = connection.createStatement();
        //5、执行SQL的对象去执行SQL,可能存在结果,查看返回结果
        String sql = "Select * from student";
        ResultSet resultSet = statement.executeQuery(sql);
        while(resultSet.next()){
            System.out.println("studentno=" + resultSet.getObject("studentno"));
            System.out.println("loginpwd=" + resultSet.getObject("loginpwd") );
            System.out.println("studentname=" + resultSet.getObject("studentname") );
            System.out.println("sex=" + resultSet.getObject("sex"));
            System.out.println("phone=" + resultSet.getObject("phone"));
            System.out.println("address=" + resultSet.getObject("address"));
        }
        //6、释放连接
        resultSet.close();
        statement.close();
        connection.close();
    }
}

结果

studentno=1000
loginpwd=123456
studentname=张伟
sex=false
phone=13800001234
address=北京朝阳
======================================
studentno=1001
loginpwd=123456
studentname=赵强
sex=true
phone=13800002222
address=广东深圳
======================================
posted @ 2020-11-04 15:44  提笔书几行  阅读(113)  评论(0编辑  收藏  举报