数据库——MySQL 数据库与 JDBC编程

本文详细介绍了JDBC的基础知识,包括JDBC简介和驱动程序的使用。同时,概述了SQL语法的基本概念,如关系数据库和MySQL命令。接着,展示了JDBC编程的典型步骤,从加载驱动到执行SQL语句和处理结果集。通过一个简单的Java代码示例,演示了如何使用JDBC连接MySQL数据库并执行查询操作。


一、 JDBC 基础

1. JDBC 简介
  • JDBC,全称:Java DataBase Connectivity,即 Java 数据库连接,它是一种可以执行 SQL 语句的Java API;
2. JDBC驱动程序
  • 数据库驱动程序,是 JDBC 程序和数据库之间的转换层,数据库驱动程序负责将 JDBC 调用映射成特定的数据库调用;

二、SQL语法

1. 关系数据库基本概念和 MySQL 基本命令
  • DBMS:数据库管理系统,它有一个数据字典,用于存储它拥有的每个事物的相关信息;
2. SQL 语句基础

三、JDBC 的典型用法

1. JDBC 编程步骤

(1)加载数据库驱动。

Class.forName("com.mysql.jdbc.Driver");

(2)通过 DriverManager 获取数据库连接。

DriverManager.getConnection(String url, String user, String pass);

这里通常需要传入三个参数:数据库URL、用户名、密码;
MySQL 数据库 URL 的写法通常如下:

jdbc:mysql://hostname:port/databasename

(3)通过 Connection 对象创建 Statement 对象;

- createStatement():创建基本的 Statement 对象;
- prepareStatement(String sql):根据传入的 SQL 语句创建预编译的 Statement 对象;
- prepareCall(String sql):根据传入的 SQL 语句创建 CallableStatement 对象;

(4)使用 Statement 执行 SQL 语句;

- execute():可以执行任何 SQL 语句,但比较麻烦;
- executeUpdate():主要用于执行 DML 和 DDL 语句;
- executeQuery():只能执行查询语句,执行后返回代表查询结果的 Result 对象;

(5)操作结果集;

(6)回收数据库资源;


下面介绍一个简单的例子:(这里只贴一个代码)
详细的讲解可以看这里
使用 Navicat 创建数据库,并用 JDBC 进行连接

public class ConnMySQL {
    public static void main(String[] args) throws Exception {
        //加载驱动
        Class.forName("com.mysql.cj.jdbc.Driver");
        String url = "jdbc:mysql://localhost:3306/databasetest?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC";
        String user = "root";
        String password = "root";
        try(
                //用 DriverManager 获取数据库连接
                //返回的 Connection 就代表了 Java 程序和数据库的连接
                Connection conn = DriverManager.getConnection(url, user, password);

                //使用 Connection 来创建一个 Statement 对象
                Statement stmt = conn.createStatement();

                //执行 SQL 语句
                ResultSet rs = stmt.executeQuery("select * from student"))
        {
            while (rs.next()){
                String number = rs.getString("number");
                String name = rs.getString("name");
                int age = rs.getInt("age");
                System.out.println(number + "---" + name + "---" + age);
            }
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值