I am new to Java so I started to learn by doing. Right now I am developing a store management software. I'm trying to do it the right and clean way, so I'm looking for some reviews of my code. The code is trying to resume the connection and the selecting from a database, so you will found a demonstration in the main method:
public class DBObject {
Connection c=null;
Statement stmt = null;
ResultSet rs=null;
public DBObject(Connection c,Statement stmt,ResultSet rs ){
this.c=c;
this.stmt=stmt;
this.rs=rs;
}
public DBObject(){
}
//excute select query (don't forget to close all of ResultSet,Statment,Connection objects)
public static DBObject executeSelectQuery(String query,String DBname){
Connection c = null;
Statement stmt = null;
DBObject dbo=null;
try {
Class.forName("org.sqlite.JDBC");
c = DriverManager.getConnection("jdbc:sqlite:"+DBname);
c.setAutoCommit(false);
System.out.println("Opened database successfully");
stmt = c.createStatement();
ResultSet rs = stmt.executeQuery(query);
dbo=new DBObject(c,stmt,rs);
} catch ( Exception e ) {
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
System.exit(0);
}
return dbo;
}
public static void main(String[] args) throws SQLException{
String q="select *from compte";
DBObject dbo=null;
String id=null,password=null,nom=null,prenom=null,adresse=null,numtelephone=null;
dbo=executeSelectQuery(q, "lib.db");
while(dbo.rs.next()){
id=dbo.rs.getString("compte_id");
password=dbo.rs.getString("password");
nom=dbo.rs.getString("nom");
prenom=dbo.rs.getString("prenom");
adresse=dbo.rs.getString("adresse");
numtelephone=dbo.rs.getString("numtelephone");
}
System.out.println(id+" "+password+" "+nom+" "+" "+prenom+" "+adresse+" "+numtelephone);
}
}