大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement) 快速入门: 各个类详解:

通过一次疫情,距离上一次学习大数据已经快过去半年了。。不能半途而废!!!!在前面已经学习了Mysql的基础了,接下来正好可以来学习用Java如何来操纵数据库,也就是JDBC技术,其实这块之前也用过,不过都忘得差不多了,为了打好地基从0开始学习。

什么是JDBC?

它的全称为“Java DataBase Connectivity”,既Java 数据库连接, Java语言操作数据库。嗯,这个是从字面意思来理解的,但是它本质其实是这样的:

JDBC 规范定义接口,具体的实现由各大数据库厂商来实现。JDBC 是 Java 访问数据库的标准规范,真正怎么操作数据库还需要具体的实现类,也就是数据库驱动。每个 数据库厂商根据自家数据库的通信格式编写好自己数据库的驱动。所以我们只需要会调用 JDBC 接口中的方法即 可,数据库驱动由数据库厂商提供。

用通俗的话来描述其本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。
下面来看一下示意图:
大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

也可以看到使用JDBC的好处如下:

  • 程序员如果要开发访问数据库的程序,只需要会调用 JDBC 接口中的方法即可,不用关注类是如何实现的。
  • 使用同一套 Java 代码,进行少量的修改就可以访问其他 JDBC 支持的数据库。

JDBC快速入门:

有了基本概念之后,接下来则尝试来用java操作一下mysql数据库,快速感受一下JDBC的魅力。

1、在MAC上安装Mysql:

安装Myql:

在之前的mysql学习是在windows平台上进行的,而对于一个习惯mac的程序员来说也有必要来搭建一下环境,所以这里重新装一下mac的mysql的环境,为之后的学习做好铺垫,这里借签一下之前https://www.cnblogs.com/webor2006/p/11770756.htmlwindows安装mysql的过程,首先到官网https://dev.mysql.com/downloads/mysql/先下载安装包:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

然后安装方法就不多说了,可以参考:https://www.jianshu.com/p/2906abd8fd47,安装完之后,接下来则需要mysql配置到环境变量中,这样就可以在终端上来输入命令操纵Mysql了:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

验证一下是否配置好:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

命令是生效了,只是目前mysql服务器还没启,此时则需要进“系统偏好设置”启动一下它:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解: 

好,再来试一下mysql命令:

xiongweideMacBook-Pro:ZhiyiCloudScreenS1 xiongwei$ mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 10
Server version: 8.0.20 MySQL Community Server - GPL

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.01 sec)

mysql> 

GUI工具:

对于平常使用肯定需要基于GUI,所以也提前把它给配置好,那在MAC上用哪款可视化的工具呢?这里用它--https://www.jetbrains.com/datagrip/,说到jetbrains就不用多说了,肯定不是太差,当然它不是免费的,只有30天的试用版,由于我买了正版的授权码所以肯定选它了,先来了解一下这个工具:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

嗯,数据库一家统,具体是不是好用得之后再慢慢感受,接下来把它给下载下来,并打开,然后先激活一下:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

接下来则创建数据库连接:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

可以看到市面上的流行数据库都支持,还真是如官网所说:“Many databases, one tool”,咱们当然是创建Mysql的:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

由于我的渣网,经过漫长的等待后,则就可以看到咱们配置的连接是否正确了,如果正确的话则会是如下所示:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

然后点击ok之后,则就可以操作数据库了,比如:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

呃,一定得要写sql才能展现么? 貌似没找到通过可视化的操作来不写SQL也能实现数据库的操作方法,不过,我觉得是好事,学习角度就得对SQL语句多敲,这样才能更加熟练的掌握SQL。关于MAC上的mysql安装就先到这,接下来则开始进入JDBC的学习之中。

2、 导入驱动jar包 mysql-connector-java-5.1.37-bin.jar

到Intellij IDEA中新建一个工程,先创建一个空的项目,里面用于JavaWeb的集中学习:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

3、复制mysql-connector-java-bin.jar驱动jar包到项目的libs目录下

我们知道要想能操纵数据库,则需要下载数据库相印的驱动jar包,上官网:https://dev.mysql.com/downloads/connector/j/5.1.html

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

拷到工程中:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

4、右键-->Add As Library

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

5、 注册驱动

接下来则可以撸码来操练Mysql数据库了,由于是快速入门,里面的细节先不用管,先按步骤能达到操作mysql的目的既可,之后再对其进行详细学习。

package com.jdbc.test;

public class JdbcTest1 {
    public static void main(String[] args) throws Exception {
        Class.forName("com.mysql.jdbc.Driver");
    }
}

这个代码在当时学习JVM时提到过,它是属于类的主动使用的一种情况,回忆一下:https://www.cnblogs.com/webor2006/p/8835953.html

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

很显然就会导致类被初始化,不多解释了,学习知识得要相互串联,这样学习起来也会在大脑中形成比较好的印象。

6、 获取数据库连接对象 Connection

package com.jdbc.test;

import java.sql.Connection;
import java.sql.DriverManager;

public class JdbcTest1 {
    public static void main(String[] args) throws Exception {
        //注册驱动
        Class.forName("com.mysql.jdbc.Driver");
        //获取数据库的连接对象
        Connection root = DriverManager.getConnection("jdbc:mysql://localhost:3306/db3", "root", "12345678");
        
    }
}

其中“jdbc:mysql://localhost:3306/db3”是不是在我们的DataGrip连接Mysql配置时有看到过:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

7、 定义sql

接下来则可以定义要执行的SQL语句了,这里咱们用一个更新语句,在库中有一个这个表:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

package com.jdbc.test;

import java.sql.Connection;
import java.sql.DriverManager;

public class JdbcTest1 {
    public static void main(String[] args) throws Exception {
        //注册驱动
        Class.forName("com.mysql.jdbc.Driver");
        //获取数据库的连接对象
        Connection root = DriverManager.getConnection("jdbc:mysql://localhost:3306/db3", "root", "12345678");
        //定义要执行的sql
        String sql = "UPDATE salarygrade SET losalary = 6000 WHERE grade = 1";
    }
}

8、 获取执行sql语句的对象 Statement

package com.jdbc.test;

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

public class JdbcTest1 {
    public static void main(String[] args) throws Exception {
        //注册驱动
        Class.forName("com.mysql.jdbc.Driver");
        //获取数据库的连接对象
        Connection root = DriverManager.getConnection("jdbc:mysql://localhost:3306/db3", "root", "12345678");
        //定义要执行的sql
        String sql = "UPDATE salarygrade SET losalary = 6000 WHERE grade = 1";
        //获得执行sql的对象
        Statement statement = root.createStatement();
    }
}

9、 执行sql,接受返回结果

package com.jdbc.test;

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

public class JdbcTest1 {
    public static void main(String[] args) throws Exception {
        //注册驱动
        Class.forName("com.mysql.jdbc.Driver");
        //获取数据库的连接对象
        Connection root = DriverManager.getConnection("jdbc:mysql://localhost:3306/db3", "root", "12345678");
        //定义要执行的sql
        String sql = "UPDATE salarygrade SET losalary = 6000 WHERE grade = 1";
        //获得执行sql的对象
        Statement statement = root.createStatement();
        //执行sql,由于这个sql属于更新操作,所以调用更新相关的API
        int count = statement.executeUpdate(sql);
    }
}

10、 处理结果

package com.jdbc.test;

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

public class JdbcTest1 {
    public static void main(String[] args) throws Exception {
        //注册驱动
        Class.forName("com.mysql.jdbc.Driver");
        //获取数据库的连接对象
        Connection root = DriverManager.getConnection("jdbc:mysql://localhost:3306/db3", "root", "12345678");
        //定义要执行的sql
        String sql = "UPDATE salarygrade SET losalary = 6000 WHERE grade = 1";
        //获得执行sql的对象
        Statement statement = root.createStatement();
        //执行sql,由于这个sql属于更新操作,所以调用更新相关的API
        int count = statement.executeUpdate(sql);
        //处理结果
        System.out.println("更新sql执行完成:" + count);
    }
}

11、 释放资源

package com.jdbc.test;

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

public class JdbcTest1 {
    public static void main(String[] args) throws Exception {
        //注册驱动
        Class.forName("com.mysql.jdbc.Driver");
        //获取数据库的连接对象
        Connection root = DriverManager.getConnection("jdbc:mysql://localhost:3306/db3", "root", "12345678");
        //定义要执行的sql
        String sql = "UPDATE salarygrade SET losalary = 6000 WHERE grade = 1";
        //获得执行sql的对象
        Statement statement = root.createStatement();
        //执行sql,由于这个sql属于更新操作,所以调用更新相关的API
        int count = statement.executeUpdate(sql);
        //处理结果
        System.out.println("更新sql执行完成:" + count);
        //释放资源
        statement.close();
        root.close();
    }
}

好!!!接下来运行看一下,第一个JDBC操作mysql的程序能否成功:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

貌似成功了,查一下数据看有没有被更新:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

第一个JDBC的例子就完美运行,但是!!对于它里面的细节还一点都不懂,为啥要这样写代码呢?所以接下来有必要对用到的相关类进行一个了解。

各个类详解:

在快速入门的代码中涉及到这几个关键类:

public static void main(String[] args) throws Exception {
        //注册驱动
        Class.forName("com.mysql.jdbc.Driver");
        //获取数据库的连接对象
        Connection root = DriverManager.getConnection("jdbc:mysql://localhost:3306/db3", "root", "12345678");
        //定义要执行的sql
        String sql = "UPDATE salarygrade SET losalary = 6000 WHERE grade = 1";
        //获得执行sql的对象
        Statement statement = root.createStatement();
        //执行sql,由于这个sql属于更新操作,所以调用更新相关的API
        int count = statement.executeUpdate(sql);
        //处理结果
        System.out.println("更新sql执行完成:" + count);
        //释放资源
        statement.close();
        root.close();
    }

下面则来全面了解一下它们。

DriverManager:驱动管理对象

它其实主要是有下两个功能:

1、注册驱动:告诉程序该使用哪一个数据库驱动jar;

我们可以看一下这个类中有一个注册的方法:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

而它的调用其实是具体的数据库产品中进行的,也就是我们第一句所写的:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

如之前所提示,它由于主动使用了类,则会对类进行初始化,则会执行它的静态代码块,所以瞅一下这个类的静态代码:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

其实有个细节,这句话可以省略:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

关于这块其实在当时学习JVM的SPI场景分析类加载机制时详细分析过,具体可以参考https://www.cnblogs.com/webor2006/p/9275901.html

2、获取数据库连接;

其实也就是对应这句代码:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

下面对这个API稍加解释一下:

                * 方法:static Connection getConnection(String url, String user, String password) 
                * 参数:
                    * url:指定连接的路径
                        * 语法:jdbc:mysql://ip地址(域名):端口号/数据库名称
                        * 例子:jdbc:mysql://localhost:3306/db3
                        * 细节:如果连接的是本机mysql服务器,并且mysql服务默认端口是3306,则url可以简写为:jdbc:mysql:///数据库名称
                    * user:用户名
                    * password:密码 

下面咱们来试一下如上所说简写的写法:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

执行:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

确实是!!! 

Connection:数据库连接对象

它主要有以下两个作用:

1、获取执行sql 的对象;

  • Statement createStatement()
    大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:
  • PreparedStatement prepareStatement(String sql)
    这个暂时还木有用到,这个在最后再来解释。

2、管理事务; 

事务这块暂时还木有使用到,不过未来肯定少不了用它的,先提前了解一下:

  • 开启事务:setAutoCommit(boolean autoCommit) :调用该方法设置参数为false,即开启事务
    大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:
  • 提交事务:commit()
    大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:
  • 回滚事务:rollback()
    大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解: 

Statement:执行sql的对象

它主要是用来执行sql的,主要有如下几种执行方法:

  • boolean execute(String sql) :可以执行任意的sql,不是很常用,了解既可。

  • int executeUpdate(String sql) :执行DML(insert、update、delete)语句、DDL(create,alter、drop)语句
    返回值:影响的行数,可以通过这个影响的行数判断DML语句是否执行成功 返回值>0的则执行成功,反之,则失败。
  • ResultSet executeQuery(String sql) :执行DQL(select)语句

接下来咱们则做个小练习,用来对其实践一下:

1. salarygrade表 添加一条记录

在上面的入门示例中其实代码是不健全的,异常直接向外抛出了,而且资源的释放没放到finally中:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

所以这次的练习正规化一下,代码比较简单,过一下既可:

package com.jdbc.test;

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

/**
 * salarygrade添加一条记录
 */
public class JdbcTest2 {
    public static void main(String[] args) {
        Statement stmt = null;
        Connection conn = null;
        try {
            //1. 注册驱动
            Class.forName("com.mysql.jdbc.Driver");
            //2. 定义sql
            String sql = "insert into salarygrade values(6,100000,150000)";
            //3.获取Connection对象
            conn = DriverManager.getConnection("jdbc:mysql:///db3", "root", "12345678");
            //4.获取执行sql的对象 Statement
            stmt = conn.createStatement();
            //5.执行sql
            int count = stmt.executeUpdate(sql);//影响的行数
            //6.处理结果
            System.out.println(count);
            if (count > 0) {
                System.out.println("添加成功!");
            } else {
                System.out.println("添加失败!");
            }

        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            //7. 释放资源
            //避免空指针异常
            if (stmt != null) {
                try {
                    stmt.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }

            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

运行一下:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

此时看一下数据库数据:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解: 

2. salarygrade表 修改记录

这个比较简单,不多说:

package com.jdbc.test;

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

/**
 * salarygrade修改一条记录
 */
public class JdbcTest3 {
    public static void main(String[] args) {
        Statement stmt = null;
        Connection conn = null;
        try {
            //1. 注册驱动
            Class.forName("com.mysql.jdbc.Driver");
            //2. 定义sql
            String sql = "UPDATE salarygrade SET hisalary = 120000 WHERE grade = 6";
            //3.获取Connection对象
            conn = DriverManager.getConnection("jdbc:mysql:///db3", "root", "12345678");
            //4.获取执行sql的对象 Statement
            stmt = conn.createStatement();
            //5.执行sql
            int count = stmt.executeUpdate(sql);//影响的行数
            //6.处理结果
            System.out.println(count);
            if (count > 0) {
                System.out.println("修改成功!");
            } else {
                System.out.println("修改失败!");
            }

        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            //7. 释放资源
            //避免空指针异常
            if (stmt != null) {
                try {
                    stmt.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }

            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

运行:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解: 

看数据:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

3. salarygrade表 删除一条记录

package com.jdbc.test;

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

/**
 * salarygrade删除一条记录
 */
public class JdbcTest4 {
    public static void main(String[] args) {
        Statement stmt = null;
        Connection conn = null;
        try {
            //1. 注册驱动
            Class.forName("com.mysql.jdbc.Driver");
            //2. 定义sql
            String sql = "DELETE FROM salarygrade WHERE grade = 6";
            //3.获取Connection对象
            conn = DriverManager.getConnection("jdbc:mysql:///db3", "root", "12345678");
            //4.获取执行sql的对象 Statement
            stmt = conn.createStatement();
            //5.执行sql
            int count = stmt.executeUpdate(sql);//影响的行数
            //6.处理结果
            System.out.println(count);
            if (count > 0) {
                System.out.println("删除成功!");
            } else {
                System.out.println("删除失败!");
            }

        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            //7. 释放资源
            //避免空指针异常
            if (stmt != null) {
                try {
                    stmt.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }

            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

运行:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

4、创建一张student表:

package com.jdbc.test;

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

/**
 * 创建一张student表
 */
public class JdbcTest5 {
    public static void main(String[] args) {
        Statement stmt = null;
        Connection conn = null;
        try {
            //1. 注册驱动
            Class.forName("com.mysql.jdbc.Driver");
            //2. 定义sql
            String sql = "CREATE TABLE student(id int , name varchar(20))";
            //3.获取Connection对象
            conn = DriverManager.getConnection("jdbc:mysql:///db3", "root", "12345678");
            //4.获取执行sql的对象 Statement
            stmt = conn.createStatement();
            //5.执行sql
            int count = stmt.executeUpdate(sql);//影响的行数
            //6.注意表的创建其count是为0的
            System.out.println(count);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            //7. 释放资源
            //避免空指针异常
            if (stmt != null) {
                try {
                    stmt.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }

            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

运行:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

查看一下表:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解:

大数据JavaWeb之JDBC基础----快速入门、各个类详解(DriverManager、Connection、Statement)
快速入门:
各个类详解: