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();
/* 使用反射获取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);
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));
Driver driver = (Driver) clazz.newInstance(); DriverManager.registerDriver(driver);
Class.forName("com.mysql.jdbc.Driver");
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));
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
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);
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!