【MySQL】Java的JDBC编程

一、数据库编程的必备条件

(1)编程语言,如Java,C、C++、Python
(2)数据库,如Oracle,MySQL,SQL Server
(3)数据库驱动包:不同的数据库,对应不同的编程语言提供了不同的数据库驱动包,如:MySQL提供了Java的驱动包mysql-connector-java,需要基于Java操作MySQL即需要该驱动包。

二、Java的数据库编程:JDBC

JDBC,即Java Database Connectivity,java数据库连接。是一种用于执行SQL语句的**Java API**,它是Java中的数据库连接规范。这个API由java.sql.*,javax.sql.* 包中的一些类和接口组成,它为Java开发人员操作数据库提供了一个标准的API,可以为多种关系数据库提供统一访问。

三、JDBC的使用

3.1 准备工作

(1)下载MySQL驱动包(maven中央仓库,大版本要和MySQL一致)
(2)导入到项目中(复制到项目目录下)

3.2 编写代码

(1)创建数据源(描述数据库服务器所在位置)
(2)建立连接
(3)构造SQL语句
(4)执行SQL语句
(5)释放资源

3.3 代码演示

插入数据:

import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Scanner;

public class JDBCinsert2 {
    public static void main(String[] args) throws SQLException {
        Scanner scanner = new Scanner(System.in);
        // JDBC 需要通过以下步骤来完成开发.
        // 1. 创建并初始化一个数据源
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/test_jdbc?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource) dataSource).setUser("root");
        ((MysqlDataSource) dataSource).setPassword("20030603");
        // 2. 和数据库服务器建立连接.
        Connection connection = dataSource.getConnection();
        // 3. 从控制台读取用户输入的内容
        System.out.println("请输入学生姓名:");
        String name = scanner.nextLine();
        System.out.println("请输入学号:");
        int id = scanner.nextInt();
        // 4. 构造 SQL 语句
        String sql = "insert into student value (?,?)";
        PreparedStatement statement = connection.prepareStatement(sql);
        statement.setInt(1,id);
        statement.setString(2,name);
        System.out.println(statement);
        // 5. 执行 SQL 语句
        int ret = statement.executeUpdate();
        System.out.println("ret = " + ret);
        // 6. 释放必要的资源
        statement.close();
        connection.close();
    }

}

查询:

import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class JDBCselect {
    public static void main(String[] args) throws SQLException {
        // 1. 创建并初始化数据源
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/test_jdbc?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource)dataSource).setUser("root");
        ((MysqlDataSource)dataSource).setPassword("20030603");
        // 2. 建立连接
        Connection connection = dataSource.getConnection();
        // 3. 构造 SQL
        String sql = "select * from student";
        PreparedStatement statement = connection.prepareStatement(sql);
        // 4. 执行 SQL
        ResultSet resultSet = statement.executeQuery();
        // 5. 遍历结果集合
        while (resultSet.next()) {
            // 把 resultSet 想象成一个表格. 同时表格这里有个光标, 初始情况下光标指向表最上面~~
            // 每次调用 next, 光标往下走一行~~
            // 当光标指向某一行的时候, 就可以通过 getXXX 来获取到当前这行里的数据
            int id = resultSet.getInt("id");
            String name = resultSet.getString("name");
            System.out.println("id = " + id + ", name = " + name);
        }
        // 6. 释放资源
        resultSet.close();
        statement.close();
        connection.close();
    }
}

你可能感兴趣的:(MySQL,mysql,java,数据库)