Guten Tag ,ich habe angefangen Java zu lernen und habe ein paar Fragen.Von erfahrenen Kollegen habe ich ein Hinweis bekommen ,dass :wenn ich eine Methode habe wo Connection gebraucht wird ,besser diese Methode aufrufen und gleich die Connection mitgeben also zmb:
folgende Methode:
wenn ich aber Connection baue auf da ,wo diese Methode aufgerufen wird und leite es an diese Methode weiter wird die so aussehen:
und es sieht viel besser aus und macht nur das was sie machen soll aber:
ist es in Ordnung wenn die Methode in einer JSP aufgerufen wird und deswegen soll ich die Connection dann halt in jsp aufbauen um an diese Methode weiter zu leiten ,oder gibs Möglichkeit dass umgehen?
folgende Methode:
Java:
public static String[][] topTenKomplex() throws ClassNotFoundException{
List<String> topTenKomplex=new ArrayList<>();
List<Double> topTenKomplexWert=new ArrayList<>();
String [][] statik;
String topTen="select programm.programm,macro_daten.fm from programm join macro_daten "
+ "on programm.programm_id=macro_daten.programm_id order by macro_daten.fm desc limit 10;";
String sDbDrv = MYSQLparameter.getDriver();
String sDbUrl = MYSQLparameter.getURL();
String sUsr = MYSQLparameter.getUser();
String sPwd = MYSQLparameter.getPassword();
Class.forName(sDbDrv);
try{
Connection cn=DriverManager.getConnection(sDbUrl, sUsr, sPwd);
Statement st1=cn.createStatement();
ResultSet rs1=st1.executeQuery(topTen);
while(rs1.next()){
topTenKomplex.add(rs1.getString(1));
topTenKomplexWert.add(rs1.getDouble(2));
}statik=new String[topTenKomplex.size()][2];
for(int i=0;i<statik.length;i++){
statik[i][0]=topTenKomplex.get(i);
statik[i][1]=Double.toString(topTenKomplexWert.get(i));
}
cn.close();
}catch(Exception e){e.printStackTrace();statik=new String[topTenKomplex.size()][2];}
return statik;
}
Java:
public static String[][] topTenKomplex(Connection c) {
List<String> topTenKomplex=new ArrayList<>();
List<Double> topTenKomplexWert=new ArrayList<>();
String [][] statik;
String topTen="select programm.programm,macro_daten.fm from programm join macro_daten "
+ "on programm.programm_id=macro_daten.programm_id order by macro_daten.fm desc limit 10;";
try( Statement st1=c.createStatement();ResultSet rs1=st1.executeQuery(topTen);){
while(rs1.next()){
topTenKomplex.add(rs1.getString(1));
topTenKomplexWert.add(rs1.getDouble(2));
}statik=new String[topTenKomplex.size()][2];
for(int i=0;i<statik.length;i++){
statik[i][0]=topTenKomplex.get(i);
statik[i][1]=Double.toString(topTenKomplexWert.get(i));
}
}catch(Exception e){e.printStackTrace();statik=new String[topTenKomplex.size()][2];}
return statik;
}
ist es in Ordnung wenn die Methode in einer JSP aufgerufen wird und deswegen soll ich die Connection dann halt in jsp aufbauen um an diese Methode weiter zu leiten ,oder gibs Möglichkeit dass umgehen?