salve a tutti, per un progetto universitario devo sviluppare un software.
parte di questo software consiste nell'accedere ad un database in locale ed effettuare delle query.
prendendo spunto da internet ho scritto questo codice (uso un singleton per l'accesso e la gestione del database).
di seguito invece allego la classe per il test
questo codice però da un'infinità di exception.
Qualcuno magari sarebbe così gentile da dirmi dove sbaglio?
parte di questo software consiste nell'accedere ad un database in locale ed effettuare delle query.
prendendo spunto da internet ho scritto questo codice (uso un singleton per l'accesso e la gestione del database).
Java:
import java.sql.*;
public class DataBase {
private static DataBase instance = new DataBase();
private Connection connect;
private Statement statement;
private ResultSet rs;
private DataBase() {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
}catch(ClassNotFoundException e1) {
e1.printStackTrace();
}
try {
connect = DriverManager.getConnection("jdbc:mysql://localhost:3306/voti?user=*******&password=******");
} catch(SQLException e) {
e.printStackTrace();
}
}
public static synchronized DataBase getConnection() {
if(instance == null) instance = new DataBase();
return instance;
}
public ResultSet query(String sql) {
try {
statement = connect.createStatement();
rs=statement.executeQuery(sql);
}catch(SQLException e) {
e.printStackTrace();
}
return rs;
}
}
di seguito invece allego la classe per il test
Java:
import java.sql.*;
public class Test {
public static void main(String[] args) {
DataBase db = DataBase.getConnection();
String sql = "select * from miei_voti ";
ResultSet rs = db.query(sql);
try {
rs.beforeFirst();
do {
String row= rs.getString("materia")+" "+rs.getString("voto");
System.out.println(row);
}while(rs.next());
}catch(Exception e) {
e.printStackTrace();
}
}
}
questo codice però da un'infinità di exception.
Qualcuno magari sarebbe così gentile da dirmi dove sbaglio?