Maison > base de données > tutoriel mysql > Comment analyser la programmation JDBC dans MySQL

Comment analyser la programmation JDBC dans MySQL

王林
Libérer: 2023-05-30 22:19:26
avant
756 Les gens l'ont consulté

1. Conditions nécessaires à la programmation de bases de données

Langages de programmation, tels que Java, C, C++, Python et autres bases de données, telles qu'Oracle, MySQL, SQL Server et autres packages de pilotes de base de données : différentes bases de données fournissent différents langages de programmation. , par exemple : MySQL fournit le package de pilotes Java mysql-connector-java, qui est requis pour faire fonctionner MySQL basé sur Java. Si vous souhaitez utiliser Java pour faire fonctionner la base de données Oracle, vous devez utiliser le package de pilote de base de données Oracle ojdbc.

2. Programmation de bases de données Java : JDBC

Java Database Connectivity, appelée JDBC, est une API Java utilisée pour se connecter aux bases de données. L'API Java est utilisée pour exécuter des instructions SQL, qui sont une spécification de connexion à une base de données en Java. Cette API se compose de certaines classes et interfaces dans les packages java.sql.*, javax.sql.*. Elle fournit une API standard permettant aux développeurs Java d'exploiter des bases de données et peut fournir un accès unifié à plusieurs bases de données relationnelles.

3. Principe de fonctionnement de JDBC

DBC fournit une méthode d'accès unifiée pour une variété de bases de données relationnelles. En tant qu'abstraction de haut niveau de l'API d'accès à la base de données d'un fabricant spécifique, il comprend principalement certaines classes d'interface communes.

Hiérarchie de la base de données d'accès JDBC :

Comment analyser la programmation JDBC dans MySQL

IV. Configuration de l'environnement de développement

Vérifiez d'abord votre version MySQL dans le service informatique, puis entrez dans l'entrepôt maven

Comment analyser la programmation JDBC dans MySQL

Comment analyser la programmation JDBC dans MySQL

Parce que ma propre version est 5.0 Après ça, j'ai donc choisi 5.1.47, la version majeure devrait être la même

Comment analyser la programmation JDBC dans MySQL

Téléchargez simplement le jar, rappelez-vous, le package jar ne peut pas être décompressé

Comment analyser la programmation JDBC dans MySQL

Ensuite, créez un dossier dans le répertoire racine de l'idée , puis importez le package jar

Comment analyser la programmation JDBC dans MySQL

Comment analyser la programmation JDBC dans MySQL

Comment analyser la programmation JDBC dans MySQL

Comment analyser la programmation JDBC dans MySQL

S'il n'y a pas d'erreur et qu'il n'y a pas de problème si cela continue OK, cela signifie que l'importation est réussie

5. Programmation JDBC dans MySQL

1. Processus en cinq étapes

Établir une connexion à la base de données

// 加载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");
Copier après la connexion
//MySQL数据连接的URL参数格式如下:
jdbc:mysql://服务器地址:端口/数据库名?参数名=参数值
Copier après la connexion

Créer une commande d'opération (Déclaration)

Statement statement = connection.createStatement();
Copier après la connexion

Exécuter une instruction SQL

ResultSet resultSet= statement.executeQuery(
                "select id, sn, name, qq_mail, classes_id from student");
Copier après la connexion

Traiter l'ensemble de résultats

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));
       }
Copier après la connexion

Libérer les ressources (fermer l'ensemble de résultats, la commande, connexion)

//关闭结果集
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();
   }
}
Copier après la connexion

2. Ajouter des informations

Créez d'abord une base de données et créez une table

 create database java122;
Copier après la connexion
 create table text(id int,name varchar(5),class_id int);
Copier après la connexion
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();
 
    }
}
Copier après la connexion

Comment analyser la programmation JDBC dans MySQL

3. Interrogez les informations

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();
    }
}
Copier après la connexion

Comment analyser la programmation JDBC dans MySQL

4.

Comment analyser la programmation JDBC dans MySQL

5. Modifier les informations

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();
 
 
    }
}
Copier après la connexion
Comment analyser la programmation JDBC dans MySQL

Comment analyser la programmation JDBC dans MySQL

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal