← 返回首页
JDBC教程(一)
发表时间:2020-03-19 18:34:30
JDBC简介

1.什么是JDBC

Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。我们通常说的JDBC是面向关系型数据库的。

2.JDBC工作原理

Java提供访问数据库规范称为JDBC,而生产厂商提供规范的实现类称为驱动。

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

其关系如下图所示:

3.JDBC开发步骤

1、注册驱动.  告诉JVM使用的是哪一个数据库的驱动

2、获得连接对象  使用JDBC中的类,完成对MySQL数据库的连接,获得数据库连接对象

3、创建语句对象  通过连接对象获取对SQL语句的执行对象

4、执行sql语句  使用执行者对象,向数据库执行SQL语句 获取到数据库的执行后的结果

5、处理结果

6、释放资源.  调用一堆close()方法.通常在finally代码块中执行。

4.第一个JDBC小例子

以idea开发工具为例子,演示实现第一个JDBC小例子。

1)下载mysql jdbc驱动。

下载页面如下:

mysql驱动

2)把下载下来的mysql-connector-java-5.1.6.zip文档解压缩后,把根目录下的mysql-connector-java-5.1.6-bin.jar,复制到项目的lib目录下。

选中mysql-connector-java-5.1.6-bin.jar,在弹出菜单中选则'Add as Library..'.

把该jar作为项目的类库。选中Project Library。点击OK。

3)编写测试类如下。

public class MySQLJdbcDemo {

    public static void main(String[] args) {
        Connection conn = null;
        Statement sta = null;
        ResultSet rs = null ;
        try {
            //1.注册驱动(静态方法)(包名+类名)
            //mysql5.1.6的旧驱动引用
            //Class.forName("com.mysql.jdbc.Driver");
            //mysql8.0.21的最新驱动引用
            Class.forName("com.mysql.cj.jdbc.Driver");
            //2.获取连接对象
            String url = "jdbc:mysql://localhost:3306/myschool?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false&allowPublicKeyRetrieval=true";
            String user = "root";
            String password = "root";
            conn = DriverManager.getConnection(url, user, password);
            //3.获取语句执行平台:
            sta = conn.createStatement();
            //4.执行SQL语句:查询语句返回的是结果集。
            String sql = "select * from students";
            rs = sta.executeQuery(sql);
            //5.遍历结果集
            while(rs.next()){
                System.out.println(rs.getInt("sid") + "," + rs.getString("sname") + "," + rs.getString("gender"));
            }

        }catch(Exception ex){
            ex.printStackTrace();
        }
        finally{
            //释放资源
            try{
                if(rs!=null) {
                    rs.close();
                    rs = null;
                }
                if(sta!=null) {
                    sta.close();
                    sta = null;
                }
                if(conn!=null) {
                    conn.close();
                    conn = null;
                }

            }catch(Exception ex){
                ex.printStackTrace();
            }
        }
    }
}

运行结果:

5.JDBC四大核心类

通过第一个例子,我们也了解到。JDBC用到的四大核心类是:

类名 说明
DriverManager JDBC驱动管理器
Connection 数据库连接对象
Statement 执行SQL语句对象
ResultSet 数据集对象