Maison > Article > base de données > Quels sont les moyens de connecter JDBC à Mysql ?
Base de données mysql : jdbc:mysql://localhost:3306/test
IDE : IDEA 2022
JDK : JDK8
mysql : mysql 5.7
JDBC : 5.1.37
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();
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(); }
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(); }
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(); }
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
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(); }
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!