Bonjour j'essaie d'encapsuler une connexion JDBC avec les classes suivantes:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import java.sql.*;
public class ConnexionEncapsulee 
{
private String driver="com.mysql.jdbc.Driver";
private String chaineConnexion="jdbc:mysql://localhost/";
private String login="root";
private String password="";
 
private Connection connexion;
	public void fermerConnexion()throws SQLException
	{
		if(this.connexion!=null && !this.connexion.isClosed())
			this.connexion.close();
	}
	public Connection getConnexion()throws SQLException
	{
		try
		{
			if(this.connexion!=null || !this.connexion.isClosed())
			{
				Class.forName(driver);
				this.connexion=DriverManager.getConnection(
						this.chaineConnexion,this.login,this.password);
			}
			return this.connexion;
		}
		catch(ClassNotFoundException ex)
		{
			throw new SQLException(
					"Classe introuvable "+ex.getMessage());
		}
	}
voici la classe main

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import javax.swing.JOptionPane;
import java.sql.*;
public class TestConnexionEncapsulee {
 
	/**
         * @param args
         */
	public static void main(String[] args) {
		// TODO Raccord de méthode auto-généré
		Statement envoieRequete;
		ConnexionEncapsulee testRequete=new ConnexionEncapsulee();
		try
		{
			envoieRequete=testRequete.getConnexion().createStatement();
			envoieRequete.executeUpdate(
					"INSER INTO tblhotel (nomHotel , adresse1Hotel, codePostalHotel, communeHotel)"
					+ " VALUE ('toti','3 promenade des champs','78000','Mantes')");
		}
		catch(SQLException ex)
		{
			JOptionPane.showMessageDialog(null,
					"Erreur JDBC : "+ex.getMessage());
		}
 
	}
 
}
j'ai le message d'erreur suivant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Exception in thread main java.lang.NullPointerException
at connexionEncapsulee.getConnexion(ConnexionEncapsulee.java:19)
at TestConnexionEncapsulee.main(TestConnexionEncapsulee.java:14)