Connexion Java MySQL
Dans ce chapitre, nous allons présenter comment Java utilise JDBC pour se connecter à une base de données MySQL.
Java nécessite un package de pilote pour se connecter à MySQL. L'adresse de téléchargement de la dernière version est :http://dev.mysql.com/downloads/connector/j/Après décompression, vous obtenez le fichier de bibliothèque jar, puis importez-le dans votre projet correspondant.

Vous pouvez télécharger le package jar fourni par ce site :mysql-connector-java-5.1.39-bin.jar
Cet exemple utilise Eclipse pour importer le package jar :

La connexion à la base de données pour MySQL 8.0 et versions ultérieures est différente :
-
1. Version du package de pilote pour MySQL 8.0 et versions ultérieuresmysql-connector-java-8.0.16.jar。
-
2, com.mysql.jdbc.Driverchangé encom.mysql.cj.jdbc.Driver。
-
MySQL 8.0 et versions ultérieures ne nécessite pas l'établissement d'une connexion SSL ; vous devez la désactiver explicitement.
-
allowPublicKeyRetrieval=true permet au client de récupérer la clé publique du serveur.
-
Enfin, vous devez également définir CST.
La façon de charger le pilote et de se connecter à la base de données est la suivante :
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test_demo?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC","root","password");
Créer des données de test
Ensuite, nous allons créer la base de données EXAMPLE dans MySQL, et créer une table de données websites. La structure de la table est la suivante :
CREATE TABLE `websites` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` char(20) NOT NULL DEFAULT '' COMMENT 'Nom du site',
`url` varchar(255) NOT NULL DEFAULT '',
`alexa` int(11) NOT NULL DEFAULT '0' COMMENT 'Classement Alexa',
`country` char(10) NOT NULL DEFAULT '' COMMENT 'Pays',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;
Insérer des données :
INSERT INTO `websites` VALUES ('1', 'Google', 'https://www.google.cm/', '1', 'USA'), ('2', 'Taobao', 'https://www.taobao.com/', '13', 'CN'), ('3', 'Example', 'http://www.example.com', '5892', ''), ('4', 'Weibo', 'http://weibo.com/', '20', 'CN'), ('5', 'Facebook', 'https://www.facebook.com/', '3', 'USA');
Le tableau de données s'affiche comme suit :

Connexion à la base de données
Cet exemple utilise JDBC pour se connecter à une base de données MySQL. Notez que certaines données telles que le nom d'utilisateur et le mot de passe doivent être adaptées à votre environnement de développement :
Fichier MySQLDemo.java :
package com.example.test;
import java.sql.*;
public class MySQLDemo {
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost:3306/EXAMPLE";
static final String USER = "root";
static final String PASS = "123456";
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try{
Class.forName(JDBC_DRIVER);
System.out.println("Connexion à la base de données...");
conn = DriverManager.getConnection(DB_URL,USER,PASS);
System.out.println("Instancier l'objet Statement...");
stmt = conn.createStatement();
String sql;
sql = "SELECT id, name, url FROM websites";
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()){
int id = rs.getInt("id");
String name = rs.getString("name");
String url = rs.getString("url");
System.out.print("ID: " + id);
System.out.print(", nom du site:" + name);
System.out.print(", URL du site:" + url);
System.out.print("\n");
}
rs.close();
stmt.close();
conn.close();
}catch(SQLException se){
se.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}finally{
try{
if(stmt!=null) stmt.close();
}catch(SQLException se2⟧Ne rien faire){
}
try{
if(conn!=null) conn.close();
}catch(SQLException se){
se.printStackTrace();
}
}
System.out.println("Goodbye!");
}
}
La sortie de l'exemple ci-dessus est la suivante :

Autres extensions