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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
|
public static DataBaseAccessor getInstance() {
if (dbAccessor == null) {
dbAccessor = new DataBaseAccessor();
dbAccessor.openConnection();
}
return dbAccessor;
}
/**
* Ouvre une connection à la base de données à partir de la datasource
* déclarée dans JOnAS
*
*/
private void openConnection() {
try {
ctx = new InitialContext();
ds = (DataSource) ctx.lookup(DATA_SOURCE);
connection = ds.getConnection();
logger.log(Level.INFO, "Database connexion established !");
} catch (NamingException e) {
logger.log(Level.ERROR, e);
dbAccessor = null;
} catch (SQLException e) {
logger.log(Level.ERROR, e);
dbAccessor = null;
}
return;
}
/**
* Execute la requête passée en paramètre
*
* @param requete
* @return Renvoie TRUE si aucun problème n'est survenu, FALSE sinon
*/
private boolean execute(String requete) {
DataBaseAccessor.getInstance();
try {
statement = (Statement) connection.createStatement();
logger.log(Level.INFO, "> Executing request :" + requete);
statement.execute(requete);
connection.commit();
return Boolean.TRUE;
} catch (SQLException e) {
logger.log(Level.ERROR, e);
return Boolean.FALSE;
} finally {
try {
statement.close();
connection.close();
} catch (SQLException e) {
logger.log(Level.ERROR, e);
return Boolean.FALSE;
}
}
}
@SuppressWarnings("finally")
private ResultSet executeQuery(String requete) {
DataBaseAccessor.getInstance();
ResultSet resultSet = null;
try {
statement = (Statement) connection.createStatement();
logger.log(Level.INFO, "> Executing request :" + requete);
resultSet = statement.executeQuery(requete);
connection.close();
} catch (SQLException e) {
logger.log(Level.ERROR, e);
} finally {
return resultSet;
}
} |
Partager