Bon,
J'ai passé du temps à potasser mon NetBeans pour toi. En même temps, pas du tout inutile car j'ai appris
quelquechose :-) Mais tu devras te contenter de cet exemple qui tourne avec Java DB, pas avec
PostgreSQL. Si tu es au point mort, cela te donnera au moins l'occasion de rapidement voir des résultats.
Ensuite, libre à toi de passer à PostgreSQL!
1) Dans NetBeans, le menu
Windows => services
, ouvre une petite fenêtre avec
Java DB => base de données incluse dans NetBeans, fournie par apache.
2) Il y a aussi des drivers dont PostgreSQL. Mais je n'entre pas en matière car la base n'est
pas installée. Si tu veux vraiment installer cette base, ensuite tu pourras utiliser ce
driver pour t'y connecter depuis tes programmes java.
3) Il y a aussi une liste de bases de données existantes, dont Java DB. (Ca commence avec
jdbc:derby:...)
Si tu as tout cela, tu peux en très peu de temps faire un petit test, comme ceci:
a) click droit de souris sur le Java DB mentionné dans mon post (point 1), pour
- démarrer le serveur
- créer ta base en lui donnant un nom (par exemple MaBase), un nom de user et un mot
de passe.
S'il ça fonctionne, tu devrais voir dans la même fenêtre ta nouvelle base qui s'appelle:
jdbc:derby://localhost:1527/MaBase[user...]
Noublies pas que tu peux stopper le serveur par le même menu quand tu veux quitter NetBeans.
b) petit programme pour te connecter à cette base: j'ai trouvé un exemple complet sous:
http://www.java2s.com/Code/Java/JDK-6/ConnecttoJavaDBDerbywithorgapachederbyjdbcEmbeddedDriver.htm
J'ai dû l'adapter un peu parce qu'il n'était pas tout-à-fait adapté pour notre configuration.
/*
* Fichier source Exemple.java
* Cet exemple a été trouvé sous
* http://www.java2s.com/Code/Java/JDK-6/ConnecttoJavaDBDerbywithorgapachederbyjdbcEmbeddedDriver.htm
* et adapté un peu pour un post sur le forum ubuntu.
* Il crée une table employe avec un nom et une adresse, puis insère un employé qui
* s'appelle Haddock et habite Moulinsart (aie le copyright!), et finalement va relire la
* table et afficher tous les Haddock sur l'écran
*/
package javadbaccess;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
public class Exemple {
static Connection conn;
public static void main(String[] args) {
String driver = "org.apache.derby.jdbc.EmbeddedDriver";
String connectionURL = "jdbc:derby:MaBase";
String monOrdreSql;
try {
Class.forName(driver);
} catch (java.lang.ClassNotFoundException e) {
e.printStackTrace();
}
try {
conn = DriverManager.getConnection(connectionURL);
Statement stmt = conn.createStatement();
monOrdreSql = "CREATE TABLE Employe (Nom VARCHAR(32) NOT NULL, Adresse VARCHAR(50) NOT NULL)";
// Si tu lances le programme plus d'une fois, supprime le "create table", remplace-le par:
// monOrdreSql = "delete from Employe";
stmt.executeUpdate(monOrdreSql);
PreparedStatement psInsert = conn.prepareStatement("insert into Employe values (?,?)");
psInsert.setString(1, "Haddock");
psInsert.setString(2, "Moulinsart");
psInsert.executeUpdate();
Statement stmt2 = conn.createStatement();
ResultSet rs = stmt2.executeQuery("select * from Employe");
int num = 0;
while (rs.next()) {
System.out.println(++num + ": Nom: " + rs.getString(1) + "\n Adresse" + rs.getString(2));
}
rs.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
c) attention, il manque encore quelquechose pour que tout ceci fonctionne: dans ton
projet NetBeans, tu dois ajouter la librairie qui contient le driver
org.apache.derby.jdbc.EmbeddedDriver
je l'ai cherchée un peu, chez moi elle était sous
/usr/local/glassfish/gf-v2-b58g/javadb/lib/derby.jar
pour l'ajouter, click droit sur le projet, sélectionne librairies, et ajoute
le derby.jar avec le bouton jar/folder
Et pour vérifier si ton compilateur la trouve correctement, essaye d'ajouter en haut de l'exemple:
import org.apache.derby.jdbc.EmbeddedDriver;
Si NetBeans ne rouspète pas cela va ensuite fonctionner!
Ouf?
Bon courage et bonne chance