Maison > Java > Javacommencer > De combien de façons Java doit-il se connecter à MySQL ? Quelles sont les différences ?

De combien de façons Java doit-il se connecter à MySQL ? Quelles sont les différences ?

王林
Libérer: 2020-11-23 15:33:31
avant
2772 Les gens l'ont consulté

De combien de façons Java doit-il se connecter à MySQL ? Quelles sont les différences ?

Il existe cinq façons de connecter Java à MySQL, à savoir :

(Partage de vidéos d'apprentissage : Vidéo d'enseignement Java)

La première façon : encapsuler le nom d'utilisateur et le mot de passe dans la classe Propriétés

Tout d'abord, il n'y a aucun doute sur l'importation du package de connexion à la base de données. Créez un pilote de pilote jdbc. Enregistrez l'URL de la base de données (en prenant MySQL comme exemple) dans l'URL de la chaîne créée. Si la version de MySQL est inférieure à 8.0, le formulaire de sauvegarde de l'URL doit être :

String url = "jdbc:mysql://localhost:3306/test"
Copier après la connexion

Si la version de MySQL est 8.0 ou supérieure, le formulaire de sauvegarde de l'URL est :

String url = "jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai";
Copier après la connexion

La version de MySQL utilisée ici est 8.0. Le fuseau horaire est donc ajouté à la fin, sinon la valeur par défaut est le fuseau horaire UTC, qui est 8 heures plus tard que l'heure de Pékin.

Encapsulez ensuite l'utilisateur et le mot de passe correspondant à la base de données mysql dans la classe Properties, et enfin créez la connexion à la base de données via la classe Connection. Le code source est le suivant :

		Driver driver = new com.mysql.jdbc.Driver();
        String url = "jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai";
        /*
        将用户名和密码封装在Properties中
         */
        Properties info = new Properties();
        info.setProperty("user","root");
        info.setProperty("password","ab20010322");

        Connection conn = driver.connect(url,info);

        System.out.println(conn);
Copier après la connexion

. La deuxième façon : dans Basé sur la première méthode, utilisez la réflexion pour réaliser le pilote

Changez la première méthode :

Driver driver = new com.mysql.jdbc.Driver();
Copier après la connexion

en :

Class clazz = Class.forName("com.mysql.jdbc.Driver");
Driver driver = (Driver) clazz.newInstance();
Copier après la connexion
par rapport à la première méthode, deux méthodes ont les mêmes fonctions, mais la seconde méthode utilise la réflexion pour implémenter le pilote, ce qui évite l'utilisation d'interfaces tierces et rend le code plus portable. Le code source de la deuxième méthode est le suivant :


 /*
        使用反射获取Driver类实例
        与Driver driver = new com.mysql.jdbc.Driver()功能相同,只是不适用第三方接口,使得程序具有更好的可移植性
         */
        Class clazz = Class.forName("com.mysql.jdbc.Driver");
        Driver driver = (Driver) clazz.newInstance();

        /*
        提供要连接的数据库
         */
        String url = "jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai";

        /*
        提供需要的用户名和密码
         */
        Properties info = new Properties();
        info.setProperty("user","root");
        info.setProperty("password","ab20010322");

        Connection connection = driver.connect(url,info);

        System.out.println(connection);
Copier après la connexion
La troisième méthode : utiliser DriveManager(classs) au lieu de Drive


Le code source est le suivant :

        Class clazz = Class.forName("com.mysql.jdbc.Driver");
        Driver driver = (Driver) clazz.newInstance();
        /*
        提供连接信息
         */
        String url = "jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai";
        String user = "root";
        String password = "ab20010322";
        /*
        注册驱动
         */
        DriverManager.registerDriver(driver);
        /*
        获取连接
         */
        System.out.println(DriverManager.getConnection(url,user,password));
Copier après la connexion
La quatrième méthode : masquer la méthode de chargement du pilote

Changez le

Driver driver = (Driver) clazz.newInstance();
DriverManager.registerDriver(driver);
Copier après la connexion
dans la troisième méthode en


Class.forName("com.mysql.jdbc.Driver");
Copier après la connexion
De cette façon, vous peut masquer la situation de chargement du pilote. Masquer le

code source comme suit :

        String url = "jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai";
        String user = "root";
        String password = "ab20010322";
        /*
        加载Driver
         */
        Class.forName("com.mysql.jdbc.Driver");//        Driver driver = (Driver) clazz.newInstance();//        DriverManager.registerDriver(driver);
        /*
        获取连接
         */
        System.out.println(DriverManager.getConnection(url,user,password));
Copier après la connexion
Méthode 5 : Mettre les informations de base requises par la base de données dans le fichier de configuration jdbc.properties


Pour les quatre méthodes de connexion ci-dessus, les deux exposent les informations de la base de données. Ce n’est pas sécuritaire de le faire. À cet égard, nous devons mettre les informations de base nécessaires à la base de données dans le fichier de configuration jdbc.properties, puis les lire via InputStream. Ceci est sûr et constitue notre méthode de connexion à la base de données la plus couramment utilisée.

Le fichier de configuration jdbc.properties est le suivant :

user=root
password=123456url=jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
Driver=com.mysql.cj.jdbc.Driver
Copier après la connexion
Remarque :


Le fichier de configuration doit être 1. placé dans le dossier src Suivant

2. Utilisez votre propre nom d'utilisateur et mot de passe de base de données pour l'utilisateur et le mot de passe

3 Si vous utilisez mysql8.0 ou supérieur, vous devez ajouter le fuseau horaire à. la fin lors de la configuration du fichier url, sinon Une erreur sera signalée

Le code source est le suivant :

        InputStream inputStream = ConnectionTest.class.getClassLoader().getResourceAsStream("jdbc.properties");
        Properties info = new Properties();
        info.load(inputStream);
        
        String user =  info.getProperty("user");
        String password = info.getProperty("password");
        String url = info.getProperty("url");
        String driver = info.getProperty("Driver");

        /*
        加载驱动
         */
        Class.forName(driver);

        /*
        获取连接
         */
        Connection conn = DriverManager.getConnection(url,user,password);
        System.out.println(conn);
Copier après la connexion
Recommandations associées :

Tutoriel d'introduction à Java

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:csdn.net
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