>데이터 베이스 >MySQL 튜토리얼 >MySQL에서 JDBC 프로그래밍을 분석하는 방법

MySQL에서 JDBC 프로그래밍을 분석하는 방법

王林
王林앞으로
2023-05-30 22:19:26760검색

1. 데이터베이스 프로그래밍에 필요한 조건

Java, C, C++, Python 및 Oracle, MySQL, SQL Server 및 기타 데이터베이스 드라이버 패키지와 같은 프로그래밍 언어: 서로 다른 데이터베이스는 서로 다른 프로그래밍 언어를 제공합니다. 예: MySQL은 Java 기반 MySQL을 작동하는 데 필요한 Java 드라이버 패키지 mysql-connector-java를 제공합니다. Java를 사용하여 Oracle 데이터베이스를 작동하려면 Oracle의 데이터베이스 드라이버 패키지 ojdbc를 사용해야 합니다.

2. Java 데이터베이스 프로그래밍: JDBC

JDBC라고 하는 Java 데이터베이스 연결은 데이터베이스에 연결하는 데 사용되는 Java API입니다. Java API는 Java의 데이터베이스 연결 사양인 SQL 문을 실행하는 데 사용됩니다. 이 API는 java.sql.*, javax.sql.* 패키지의 일부 클래스와 인터페이스로 구성되어 있으며 Java 개발자가 데이터베이스를 운영할 수 있는 표준 API를 제공하고 여러 관계형 데이터베이스에 대한 통합 액세스를 제공할 수 있습니다.

3. JDBC의 작동 원리

DBC는 특정 제조업체의 데이터베이스 액세스 API를 상위 수준으로 추상화한 것으로, 주로 몇 가지 공통 인터페이스 클래스를 포함하여 다양한 관계형 데이터베이스에 대한 통합 액세스 방법을 제공합니다.

JDBC 액세스 데이터베이스 계층 구조:

MySQL에서 JDBC 프로그래밍을 분석하는 방법

IV. 개발 환경 설정

먼저 컴퓨터 서비스에서 MySQL 버전을 확인한 후 Maven Warehouse에 들어갑니다.

MySQL에서 JDBC 프로그래밍을 분석하는 방법

MySQL에서 JDBC 프로그래밍을 분석하는 방법

제 버전은 5.0 이후입니다. 그래서 5.1.47을 선택했습니다. 메이저 버전은 동일해야 합니다

MySQL에서 JDBC 프로그래밍을 분석하는 방법

jar를 다운로드하면 됩니다. jar 패키지는 압축을 풀 수 없다는 점을 기억하세요.

MySQL에서 JDBC 프로그래밍을 분석하는 방법

다음으로 idea의 루트 디렉터리에 폴더를 만듭니다. , 그런 다음 jar 패키지를 가져옵니다.

MySQL에서 JDBC 프로그래밍을 분석하는 방법

MySQL에서 JDBC 프로그래밍을 분석하는 방법

MySQL에서 JDBC 프로그래밍을 분석하는 방법

MySQL에서 JDBC 프로그래밍을 분석하는 방법

오류가 없고 계속해서 문제가 없으면 가져오기가 성공했음을 나타내는 문제가 없을 것입니다.

5. JDBC 프로그래밍 MySQL

1. 5단계 프로세스

데이터베이스 연결 설정

// 加载JDBC驱动程序:反射,这样调用初始化com.mysql.jdbc.Driver类,即将该类加载到JVM方法
区,并执行该类的静态方法块、静态属性。
Class.forName("com.mysql.jdbc.Driver");
// 创建数据库连接
Connection connection =
DriverManager.getConnection("jdbc:mysql://localhost:3306/test?
user=root&password=root&useUnicode=true&characterEncoding=UTF-8");
//MySQL数据连接的URL参数格式如下:
jdbc:mysql://服务器地址:端口/数据库名?参数名=参数值

작업 명령 생성(Statement)

Statement statement = connection.createStatement();

SQL 문 실행

ResultSet resultSet= statement.executeQuery(
                "select id, sn, name, qq_mail, classes_id from student");

결과 집합 처리

while (resultSet.next()) {
            int id = resultSet.getInt("id");
            String sn = resultSet.getString("sn");
            String name = resultSet.getString("name");
            int classesId = resultSet.getInt("classes_id");
            System.out.println(String.format("Student: id=%d, sn=%s, name=%s, 
classesId=%s", id, sn, name, classesId));
       }

리소스 해제(결과 집합 닫기, 명령 , 연결)

//关闭结果集
if (resultSet != null) {
    try {
        resultSet.close();
   } catch (SQLException e) {
        e.printStackTrace();
   }
}
//关闭命令
if (statement != null) {
    try {
        statement.close();
   } catch (SQLException e) {
        e.printStackTrace();
   }
}
//关闭连接命令
if (connection != null) {
    try {
        connection.close();
   } catch (SQLException e) {
        e.printStackTrace();
   }
}

2. 정보 추가

먼저 데이터베이스 생성 및 테이블 생성

 create database java122;
 create table text(id int,name varchar(5),class_id int);
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
 
 
public class TextJDBC {
    //DataSource
    //Connection
    //PrepareStatement
 
 
    public static void main(String[] args) throws SQLException{
        //1、创建DataSource对象
         DataSource dataSource = new MysqlDataSource();
        //设置相关内容
        //URL User password
        //向下转型                     访问数据库   协议名        ip地址 要访问那个地址
        ((MysqlDataSource) dataSource).setURL("jdbc:mysql://127.0.0.1:3306/java122?characterEncoding=utf-8&useSSL=false");
        ((MysqlDataSource) dataSource).setUser("root");
        ((MysqlDataSource) dataSource).setPassword("180210");
        
        //2、和数据库连接.进行后续连接
        //connect生命周期较短
        Connection connection = dataSource.getConnection();
        
        //3、拼装SQL语句
        int id = 1;
        String name = "曹操";
        int class_id = 10;
        //?是一个占位符,可以把一个具体的变量的值替换到?
        String sql = "insert into text values(?,?,?)";
        PreparedStatement statement = connection.prepareStatement(sql);
        //1 2 3相当与?的下标
        statement.setInt(1,id);
        statement.setString(2,name);
        statement.setInt(3,class_id);
        System.out.println("statement:" + statement);
 
        //4、执行SQL语句
        int ret = statement.executeUpdate();
        System.out.println("ret:" + ret);
 
        //5、关闭相关资源
        //后创建的先释放,顺序不能错
        statement.close();
        connection.close();
 
    }
}

MySQL에서 JDBC 프로그래밍을 분석하는 방법

3. 정보 쿼리

import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
 
import javax.sql.DataSource;
import javax.xml.transform.Source;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Scanner;
 
public class Text1 {
 
 
    public static void main(String[] args) throws SQLException {
 
        //1,创建实列
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/java122?characterEncoding=utf-8&useSSL=false");
        ((MysqlDataSource)dataSource).setUser("root");
        ((MysqlDataSource)dataSource).setPassword("180210");
 
        //2,数据库连接
        Connection connection = dataSource.getConnection();
 
        //3,构造SQL语句
 
        String sql ="select * from text";
        PreparedStatement statement = connection.prepareStatement(sql);
 
        //4,执行SQL语句
        ResultSet resultSet = statement.executeQuery();
        while (resultSet.next()){
            int id = resultSet.getInt("id");
            String name = resultSet.getString("name");
            int class_id = resultSet.getInt("class_id");
            System.out.println("id: " + id  + "name: " + name  + "class_id: " + class_id);
        }
 
        //5,关闭相关资源
        resultSet.close();
        statement.close();
        connection.close();
    }
}

MySQL에서 JDBC 프로그래밍을 분석하는 방법

4.

MySQL에서 JDBC 프로그래밍을 분석하는 방법5 .정보수정

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 Textur2 {
 
 
    public static void main(String[] args) throws SQLException {
 
 
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入要删除学生的姓名:");
        String name = scanner.next();
        //1,创建实列
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource) dataSource).setURL("jdbc:mysql://127.0.0.1:3306/java122?characterEncoding=utf-8&useSSL=false");
        ((MysqlDataSource) dataSource).setUser("root");
        ((MysqlDataSource) dataSource).setPassword("180210");
 
        //2,数据库连接
        Connection connection = dataSource.getConnection();
 
        //3,构造SQL语句
        String sql = "delete from text where name = ?";
        PreparedStatement statement = connection.prepareStatement(sql);
        statement.setString(1,name);
 
        //4,执行SQL
        int ret = statement.executeUpdate();
        if (ret == 1){
            System.out.println("删除成功");
        }else {
            System.out.println("删除失败");
        }
 
        //5,关闭资源
        statement.close();
        connection.close();
 
 
    }
}

MySQL에서 JDBC 프로그래밍을 분석하는 방법

위 내용은 MySQL에서 JDBC 프로그래밍을 분석하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제