Maison > base de données > tutoriel mysql > Quels sont les moyens de connecter JDBC à Mysql ?

Quels sont les moyens de connecter JDBC à Mysql ?

王林
Libérer: 2023-06-01 19:08:36
avant
1842 Les gens l'ont consulté

Description de l'environnement de test

Base de données mysql : jdbc:mysql://localhost:3306/test

IDE : IDEA 2022

JDK : JDK8

mysql : mysql 5.7

JDBC : 5.1.37

Première méthode de type

Utilisez la méthode du pilote de chargement statique pour vous connecter à MySQL

Cette méthode a une faible flexibilité et une forte dépendance

public void connection01() throws SQLException {
    // 注册驱动
    Driver driver = new Driver();
    // 创建Properties对象,用于保存mysql账号和密码键值对
    Properties properties = new Properties();
    properties.setProperty("user", "root");
    properties.setProperty("password", "123456");
    String url = "jdbc:mysql://localhost:3306/test";
    // 得到mysql的连接
    Connection connection = driver.connect(url, properties);
    // 得到可以与mysql语句进行交互的对象
    Statement statement = connection.createStatement();
    // 关闭与 mysql语句进行交互的对象
    statement.close();
    // 关闭与mysql的连接
    connection.close();
Copier après la connexion

La deuxième méthode

Utilise la réflexion pour charger dynamiquement le pilote basé sur la première méthode, ce qui réduit les dépendances et est plus flexible. amélioration

public void connection02() throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException {
    // 使用反射动态加载mysql驱动件程序
    Class<?> aClass = Class.forName("com.mysql.jdbc.Driver");
    Driver driver = (Driver) aClass.newInstance();
    // 创建Properties对象,用于保存mysql账号和密码键值对
    Properties properties = new Properties();
    properties.setProperty("user", "root");
    properties.setProperty("password", "123456");
    String url = "jdbc:mysql://localhost:3306/test";
    // 得到mysql的连接
    Connection connection = driver.connect(url, properties);
    // 得到可以与mysql语句进行交互的对象
    Statement statement = connection.createStatement();
    // 关闭与 mysql语句进行交互的对象
    statement.close();
    // 关闭与 mysql语句进行交互的对象
    connection.close();
}
Copier après la connexion

La troisième voie

Utiliser DriverManager pour une gestion unifiée

public void connection03() throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException {
	// 使用反射动态加载mysql驱动件程序
    Class<?> aClass = Class.forName("com.mysql.jdbc.Driver");
    Driver driver = (Driver) aClass.newInstance();
    String user = "root";
    String password = "123456";
    String url = "jdbc:mysql://localhost:3306/test";
    // 使用DriverManager加载Driver
    DriverManager.registerDriver(driver);
    // 得到mysql的连接
    Connection connection = DriverManager.getConnection(url, user, password);
    // 得到可以与mysql语句进行交互的对象
    Statement statement = connection.createStatement();
    // 关闭与 mysql语句进行交互的对象
    statement.close();
    // 关闭与 mysql语句进行交互的对象
    connection.close();
}
Copier après la connexion

La quatrième voie

En fait, Class.forName ("com.mysql.jdbc.Driver") a automatiquement chargé l'instance du pilote au niveau de la couche inférieure

Donc Driver driver = (Driver) aClass.newInstance(); cette phrase peut être omise

Cette méthode est également la méthode la plus utilisée en développement

public void connection04() throws ClassNotFoundException, SQLException {
    // 使用反射动态加载mysql驱动件程序
    Class<?> aClass = Class.forName("com.mysql.jdbc.Driver");
    String user = "root";
    String password = "123456";
    String url = "jdbc:mysql://localhost:3306/test";
    // 得到mysql的连接
    Connection connection = DriverManager.getConnection(url, user, password);
    // 得到可以与mysql语句进行交互的对象
    Statement statement = connection.createStatement();
    // 关闭与 mysql语句进行交互的对象
    statement.close();
    // 关闭与 mysql语句进行交互的对象
    connection.close();
}
Copier après la connexion

La cinquième méthode

Elle peut être omise après la classe mysql5.16 .forName("com.mysql.jdbc.Driver"); pour charger le pilote
Depuis jdk1.5 et versions ultérieures, jdbc4 est utilisé. Il n'est plus nécessaire d'appeler explicitement class.forName() pour enregistrer le pilote mais pour. appelle automatiquement le META sous le package jar du pilote. -Enregistrez le nom de la classe dans le texte de INFservicesjava.sql.Driver
Il est recommandé d'écrire CLASS forName("com.mysql.jdbc.Driver"), ce qui est plus clair. et a une meilleure compatibilité

Le fichier de configuration des propriétés est également utilisé ici Réaliser une lecture dynamique des informations dynamiques et améliorer la flexibilité

Il est recommandé d'utiliser cette méthode

src/com/mysql/mysql.properties le contenu du fichier de configuration est comme suit

url=jdbc:mysql://localhost:3306/test
user=root
password=123456
Copier après la connexion

Connectez le programme mysql

public void connection05() throws SQLException, ClassNotFoundException, IOException {
    // 使用Properties读取配置文件下的内容
    Properties properties = new Properties();
    properties.load(new FileInputStream("src/com/mysql/mysql.properties"));
    String url = properties.getProperty("url");
    String user = properties.getProperty("user");
    String password = properties.getProperty("password");
    // 得到mysql的连接
    Connection connection = DriverManager.getConnection(url, user, password);
    // 得到可以与mysql语句进行交互的对象
    Statement statement = connection.createStatement();
    // 关闭与 mysql语句进行交互的对象
    statement.close();
    // 关闭与 mysql语句进行交互的对象
    connection.close();
}
Copier après la connexion

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:
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
Derniers numéros
MySQL arrête le processus
Depuis 1970-01-01 08:00:00
0
0
0
Env中mysql
Depuis 1970-01-01 08:00:00
0
0
0
Erreur lors de l'installation de MySQL sous Linux
Depuis 1970-01-01 08:00:00
0
0
0
php - problème de surveillance MySQL
Depuis 1970-01-01 08:00:00
0
0
0
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal