JDBC连接MySQL数据库的视频教程 - 极悦
首页 课程 师资 教程 报名

JDBC连接MySQL数据库的视频教程

  • 2021-01-27 17:08:03
  • 1134次 极悦

JDBC(Java Database Connectivity)提供了一种与平台无关的用于执行SQL语句的标准Java API,可以方便地实现多种关系型数据库的统一操作,它由一组用Java语言编写的接口和类组成JDBC本身提供的是一套数据库操作标准,而这些标准又需要数据库厂商实现,所以针对每一个数据库厂商都会提供一个JDBC驱动程序,目前比较常见的JDBC驱动程序可分为以下4类:

jdbc连接数据库视频


JDBC-ODBC桥驱动。直接利用微软的ODBC(Open Database Connectivity)进行数据库的连接操作,但是这种操作性能较低。
JDBC本地驱动。直接使用各个数据库生产商提供的JDBC驱动程序,但是因为其只能应用在特定的数据库上,会丧失程序的可移植性,不过这样操作的性能较高。
JDBC网络驱动。将JDBC转换为与DBMS无关的网络协议,之后又被某个服务器转换为一种DBMS协议。这种网络服务器中间件能够将它的纯Java客户机连接到多种不同的数据库上,所用的具体协议取决于提供者。通常,这是最灵活的JDBC驱动程序。
本地协议纯JDBC驱动。将JDBC调用直接转换为DBMS所使用的网络协议。这将允许从客户机器上直接调用DBMS服务器。

MySQL数据库
MySQL是一个小型关系型数据库管理系统。在MySQL官网下载安装包,安装好之后配置好环境变量就可以使用了。
MySQL常用命令

连接MySQL数据库 mysql -u 用户名 -p;然后输入密码
创建数据库 create database 数据库名称
删除数据库 drop database 数据库名称
使用数据库 use 数据库名称
创建数据库表 create table 表名称(字段名称 字段类型 默认值 约束)
删除数据库表 drop table 表名称
查看表结构 desc 表名称
查看全部数据库 show databases
查看一个数据库的全部表 show tables

SQL语法基础
SQL(Structured Query Language,结构查询语言)是一个功能强大的数据库语言。SQL通常用于与数据库的通信。SQL功能强大,概括起来可以分成以下几组:DML(Data Manipulation Language,数据操作语言),用于检索或者修改数据;DDL(Data Definition Language,数据定义语言),用于定义数据的结构,如创建、修改或者删除数据库对象;DCL(Data Control Language,数据控制语言),用于定义数据库用户的权限。

SQL常用语法

增加数据 insert into 表名称【(字段1,字段2,……,字段n)】 values(值1,值2,……,值n);(【】表示可选项)
删除数据 delete from 表名称 【删除条件】
更新数据 update 表名称 set 字段1=值1,……,字段n=值n 【where 更新条件】
查询数据

select {*|column alias}

from 表名称 别名

【where 条件】

【limit 开始行,取出的数据个数】

需要注意的是,在增加数据时,如果是字符串,则一定要用“‘”括起来;如果是日期,则按照标准的日期格式进行插入(MySQL中的日期使用yyyy-mm-dd的格式保存,所以在插入数据时,必须按照此种格式插入)。
在删除数据时,最好指定删除的条件,如果没有指定,则表示删除一张表中的全部数据。
与删除语句一样,修改时也需要指定修改条件,否则数据表的全部记录都将被修改。

连接数据库
要使用MySQL数据库进行开发,首先去官网下载驱动,然后将MySQL数据库的驱动程序配置到classpath中。
加载数据库驱动程序是JDBC操作的第一步,由于已经将数据库的驱动程序直接配置到了classpath中,所以,此时可以直接进行加载。MySQL中的数据库驱动路径是com.mysql.jdbc.Driver。得到驱动程序路径之后,即可利用Class类进行驱动程序的加载。
连接及关闭数据库。如果数据库驱动程序可以正常加载,就可以利用DriverManager类连接数据库。在DriverManager中,提供的主要操作就是得到一个数据库的连接,getConnection()方法就是取得连接对象,此方法返回的是Connection对象,不管使用哪种方式连接,都必须提供一个数据库的连接地址。

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

public class ExampleDatabase {
    //定义MySQL的数据库驱动程序
    public static final String DBDRIVER = "com.mysql.jdbc.Driver";
    //定义MySQL数据库的连接地址
    public static final String DBURL = "jdbc:mysql://localhost:3306/test";
    //MySQL数据库的连接用户名
    public static final String DBUSER = "root";
    //MySQL数据库的连接密码
    public static final String DBPASS = "root";
    public static void main(String[] args) {
        Connection con = null;
        try {
            //加载驱动程序
            Class.forName(DBDRIVER);
        }
        catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        try {
            //连接MySQL数据库时,要写上连接的用户名和密码
            con = DriverManager.getConnection(DBURL, DBUSER, DBPASS);
        }
        catch (SQLException e) {
            e.printStackTrace();
        }
        System.out.println(con);
        try {
            //关闭数据库
            con.close();
        }
        catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

执行数据库的更新操作
数据库连接后,就可以进行数据库的具体操作,要使用Statement接口完成,此接口可以使用Connection接口中提供的createStatement()方法实例化。

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

public class ExampleDatabase {
    //定义MySQL的数据库驱动程序
    public static final String DBDRIVER = "com.mysql.jdbc.Driver";
    //定义MySQL数据库的连接地址
    public static final String DBURL = "jdbc:mysql://localhost:3306/test";
    //MySQL数据库的连接用户名
    public static final String DBUSER = "root";
    //MySQL数据库的连接密码
    public static final String DBPASS = "root";
    public static void main(String[] args) {
        Connection con = null;
        Statement stmt = null;
        //数据库插入语句
        String insertSQL = "insert into user (id, name, age) values (3, 'key', 23)";
        //数据库修改语句
        String alterSQL = "update user SET name='jon' where id=8";
        //数据库删除语句
        String deleteSQL = "delete from user where id=5";
        try {
            //加载驱动程序
            Class.forName(DBDRIVER);
        }
        catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        try {
            //连接MySQL数据库时,要写上连接的用户名和密码
            con = DriverManager.getConnection(DBURL, DBUSER, DBPASS);
            //实例化Statement对象
            stmt = con.createStatement();
            //执行数据库更新操作
            stmt.executeUpdate(insertSQL);
            stmt.executeUpdate(alterSQL);
            stmt.executeUpdate(deleteSQL);
        }
        catch (SQLException e) {
            e.printStackTrace();
        }
        System.out.println(con);
        try {
            //关闭操作
            stmt.close();
            //关闭数据库
            con.close();
        }
        catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

数据库查询操作
使用SQL的select语句可以查询出数据库的全部结果,在JDBC的操作中数据库的所有查询记录将使用ResultSet进行接收,并使用ResultSet显示内容。要进行数据库查询操作,需要使用Statement接口定义的executeQuery()方法,此方法返回值类型就是一个ResultSet的对象,此对象中存放了所有的查询结果。

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

public class ExampleDatabase {
    //定义MySQL的数据库驱动程序
    public static final String DBDRIVER = "com.mysql.jdbc.Driver";
    //定义MySQL数据库的连接地址
    public static final String DBURL = "jdbc:mysql://localhost:3306/test";
    //MySQL数据库的连接用户名
    public static final String DBUSER = "root";
    //MySQL数据库的连接密码
    public static final String DBPASS = "root";
    public static void main(String[] args) {
        Connection con = null;
        Statement stmt = null;
        ResultSet rs = null;
        //数据库查询语句
        String sql = "select id , name, age from user";
        try {
            //加载驱动程序
            Class.forName(DBDRIVER);
        }
        catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        try {
            //连接MySQL数据库时,要写上连接的用户名和密码
            con = DriverManager.getConnection(DBURL, DBUSER, DBPASS);
            //实例化Statement对象
            stmt = con.createStatement();
            //执行数据库查询操作
            rs = stmt.executeQuery(sql);
            while (rs.next()) {
                int id = rs.getInt("id");
                String name = rs.getString(2);
                int age = rs.getInt("age");
                System.out.print("id:" + id + " ");
                System.out.print("name:" + name + " ");
                System.out.println("age:" + age);
            }
        }
        catch (SQLException e) {
            e.printStackTrace();
        }
        System.out.println(con);
        try {
            //关闭结果集
            rs.close();
            //关闭操作
            stmt.close();
            //关闭数据库
            con.close();
        }
        catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

ResultSet中的所有数据都可以通过getString()方法获得。
PreparedStatement
PreparedStatement是Statement的子接口,属于预处理操作。与直接使用Statement不同的是,PreparedStatement在操作时,是先在数据表中准备好了一条SQL语句,但是此SQL语句的具体内容暂时不设置,而是之后再进行设置。由于PreparedStatement对象已预编译过,所以其执行速度要高于Statement对象。在开发中不建议使用Statement,而是使用PreparedStatement。

Java视频学习:
极悦Java JDBC视频教程,本套视频教程中讲解了Java语言如何连接数据库,对数据库中的数据进行增删改查操作,适合于已经学习过Java编程基础以及数据库的同学。Java教程中阐述了接口在开发中的真正作用,JDBC规范制定的背景,JDBC编程六部曲,JDBC事务,JDBC批处理,SQL注入,行级锁等。

以上就是极悦注册机构的小编针对“JDBC连接MySQL数据库的视频教程”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。

 

选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交