Maison >Java >Javacommencer >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
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
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.DriverRemarque :
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!