Maison  >  Article  >  Java  >  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 ?

王林
王林avant
2020-11-23 15:33:312584parcourir

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"

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";

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);

. 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();

en :

Class clazz = Class.forName("com.mysql.jdbc.Driver");
Driver driver = (Driver) clazz.newInstance();
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);
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));
La quatrième méthode : masquer la méthode de chargement du pilote

Changez le

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


Class.forName("com.mysql.jdbc.Driver");
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));
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
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);
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!

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