Hallo,
ich habe derzeit eine Klasse Data, die eine statische methode hat, welche mir eine OracleConnectionPoolDataSource zurück gibt (Dazu nutze ich eine properties datei).
Desweiteren habe ich zwei Klassen, die von Data erben.
Diese Klassen erstellen mir jeweils Listen aus Querys, die ich dann in anderen Klassen wieder abfragen kann.
Deshalb habe ich mir eine eigene Listen Klasse gemacht:
Zum einen gefällt mir der Name Data nicht ... allerdings wüßte ich ncith wie ich das sonst nennen soll. Im Endeffekt bekomme ich ja nur meinen OracleConnectionPoolDataSource. Macht das an dieser Stelle überhaupt Sinn?
Achso Car und Ship sind Beans.
Hier noch ein Beispiel einer meiner Klassen die von Data erbt:
Wäre echt super nett, wenn ihr mir sagen könnt, ob das konzept richtig ist oder wie man es besser machen kann.
Gruß
ich habe derzeit eine Klasse Data, die eine statische methode hat, welche mir eine OracleConnectionPoolDataSource zurück gibt (Dazu nutze ich eine properties datei).
Desweiteren habe ich zwei Klassen, die von Data erben.
Diese Klassen erstellen mir jeweils Listen aus Querys, die ich dann in anderen Klassen wieder abfragen kann.
Deshalb habe ich mir eine eigene Listen Klasse gemacht:
Code:
package irgendwas;
import java.util.List;
public class TList {
// **************************************************************
// This class sets and returns Lists of cars or ships
// **************************************************************
private List<Car> cars;
private List<Ship> ships;
public List<Car> getCars() {
return cars;
}
public void setFreightOffers(List<Car> cars) {
this.cars = cars;
}
public List<Ship> getShips() {
return ships;
}
public void setShips(List<Ship> ships) {
this.ships = ships;
}
}
Zum einen gefällt mir der Name Data nicht ... allerdings wüßte ich ncith wie ich das sonst nennen soll. Im Endeffekt bekomme ich ja nur meinen OracleConnectionPoolDataSource. Macht das an dieser Stelle überhaupt Sinn?
Achso Car und Ship sind Beans.
Hier noch ein Beispiel einer meiner Klassen die von Data erbt:
Code:
package tchelperclass.database;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import javax.sql.PooledConnection;
import oracle.jdbc.pool.OracleConnectionPoolDataSource;
import org.apache.log4j.Logger;
import tchelperclass.util.Log;
public class CarDAO extends Data {
OracleConnectionPoolDataSource dataSource = null;
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
TList tList = new TList();
PooledConnection pc = null;
List<Car> cars = new ArrayList<Car>();
private static final Logger log = Logger.getLogger(CarDAO.class);
public TList getCars() {
//Load properties
try {
prop.load(new FileInputStream("J:\\db.properties"));
query.load(new FileInputStream("J:\\query.properties"));
} catch (FileNotFoundException e) {
e.printStackTrace();
log.error("Property File Not Found", e);
} catch (IOException e) {
e.printStackTrace();
log.error("IO Exception", e);
}
try {
dataSource = setupDataSource();
// Create a pooled connection
pc = dataSource.getPooledConnection();
conn = pc.getConnection();
stmt = conn.createStatement();
rs = stmt.executeQuery(query.getProperty("CarsQuery"));
while (rs.next()) {
// Create a vehicles offers bean
Car car = new Car();
car.setReifen(rs.getString("reifen"));
car.setTueren(rs.getString("tueren"));
car.setFenster(rs.getString("fenster"));
car.setSitze(rs.getString("sitze"));
// Assign Obj to ArrayList
cars.add(car);
}
// Assign FreightList to List
tList.setCars(cars);
} catch (SQLException e) {
log.error("SQL Error", e);
} finally {
try {
rs.close();
} catch (SQLException e) {
log.error("Error Closing Result Set", e);
}
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
log.error("Error Closing Statement", e);
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
log.error("Error Closing Connection", e);
}
}
}
return tList;
}
Wäre echt super nett, wenn ihr mir sagen könnt, ob das konzept richtig ist oder wie man es besser machen kann.
Gruß