Maison  >  Article  >  base de données  >  Comment MySQL implémente JDBC

Comment MySQL implémente JDBC

王林
王林avant
2023-05-27 11:06:25808parcourir

Introduction aux bases de JDBC

Concepts

JDBC (Java DataBase Connectivity, connexion à une base de données Java) est une API Java utilisée pour exécuter des instructions SQL. Elle peut fournir un accès unifié à une variété de bases de données relationnelles. Elle est composée d'un groupe. du langage Java Il se compose de classes écrites et d'interfaces.

  La spécification JDBC définit l'interface et l'implémentation spécifique est implémentée par les principaux fournisseurs de bases de données.

Une implémentation spécifique du pilote de base de données est requise pour faire fonctionner la base de données en Java, car JDBC n'est que la spécification standard permettant à Java d'accéder à la base de données. Chaque fournisseur de base de données écrit son propre pilote de base de données en fonction du format de communication de sa base de données. Par conséquent, il vous suffit de maîtriser l'appel des méthodes d'interface JDBC et le fabricant de la base de données fournira un pilote de base de données.

L'essence

est en fait un ensemble de spécifications (interfaces) officiellement fournies par Java. Utilisé pour aider les développeurs à connecter rapidement différentes bases de données relationnelles !

7 étapes pour JDBC

(1) Importer le package jar

(2) Enregistrer le pilote

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

Remarque : si vous utilisez une version supérieure de MySQL, vous devez utiliser com.mysql.cj.jdbc . Chauffeur , sinon une erreur sera signalée !

Chargement de la classe `com.mysql.jdbc.Driver' Ceci est obsolète. La nouvelle classe de pilote est `com.mysql.cj.jdbc.Driver'. Le pilote est automatiquement enregistré via le SPI et le chargement manuel du pilote. la classe est généralement inutile.

S'il s'agit d'une version inférieure, vous pouvez utiliser com.mysql.jdbc.Driver

Si vous obtenez toujours une erreur, vous pouvez ajouter le fuseau horaire à l'url !

url=jdbc:mysql://localhost:3306/Nom de la base de données?serverTimezone=UTC

(3) Obtenir la connexion

String url = "jdbc:mysql://localhost:3306/db1";
Connection con = DriverManager.getConnection(url,"root","888888");

(4) Obtenir l'objet exécuteur

Statement stat = con.createStatement();

(5) Exécutez l'instruction SQL et recevez le résultat de retour

String sql = "SELECT * FROM user";
ResultSet rs = stat.executeQuery(sql);

(6) Traitez le résultat

while(rs.next()) {
    System.out.println( rs.getInt("id")
                + "\t" + rs.getString("name"));
}

(7) Libérez les ressources

con.close();
stat.close();
rs.close();
Exemple de code d'entrée JDBC

Nom d'utilisateur, base de données dans le Objet de connexion Changez votre nom et votre mot de passe par les vôtres !

public class jdbc_demo01 {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        // 1.导入jar包
        // 2.注册驱动
        Class.forName("com.mysql.cj.jdbc.Driver");
 
        // 3.获取连接
        String url = "jdbc:mysql://localhost:3306/db1";
        Connection con = DriverManager.getConnection(url,"root","888888");
        // 4.获取执行者对象
        Statement stat = con.createStatement();
        // 5.执行sql语句,并且接收结果
        String sql = "SELECT * FROM product";
        ResultSet rs = stat.executeQuery(sql);
        // 6.处理结果
        while(rs.next()) {
            System.out.println( rs.getInt("id") + "\t"
                    + rs.getString("name") + "\t"
                    + rs.getInt("price") + "\t"
                    + rs.getString("brand") + "\t"
                    + rs.getInt("stock")
            );
        }
        // 7。释放资源
        con.close();
        stat.close();
        rs.close();
    }
}

Les résultats sont les suivants :

Comment MySQL implémente JDBC

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer