toDoList の作成を開始しました。「DataMapper」を作成して、データベースへのクエリを実行したいと考えています。
この Datamapper を作成して処理を代行しましたが、この場合、私の考え方が正しいかどうかはわかりません。私の Datamapper では、クエリを実行する必要があるメソッドを 1 つだけ作成し、(open メソッドと close メソッドを最小限に抑えるために) どのクエリを起動するかを知っているいくつかのメソッドを作成しました。
たとえば、私はこれを持っています:
public Object insertItem(String value) {
this.value = value;
String insertQuery = "INSERT INTO toDoList(item,datum) " + "VALUES ('" + value + "', CURDATE())";
return this.executeQuery(insertQuery);
}
public Object removeItem(int id) {
this.itemId = id;
String deleteQuery = "DELETE FROM test WHERE id ='" + itemId + "'";
return this.executeQuery(deleteQuery);
}
private ResultSet executeQuery(String query) {
this.query = query;
Connection con = null;
Statement st = null;
ResultSet rs = null;
try {
con = db.connectToAndQueryDatabase(database, user, password);
st = con.createStatement();
st.executeUpdate(query);
}
catch (SQLException e1) {
e1.printStackTrace();
}
finally {
if (rs != null) {
try {
rs.close();
} catch (SQLException e2) { /* ignored */}
}
if (st != null) {
try {
st.close();
} catch (SQLException e2) { /* ignored */}
}
if (con != null) {
try {
con.close();
} catch (SQLException e2) { /* ignored */}
}
System.out.println("connection closed");
}
return rs;
}
したがって、このように a を返すことが正しいかどうかはわかりませんResultSet
。私は次のようなことをすることにしました
public ArrayList<ToDoListModel> getModel() {
return null;
}
で返されたすべてのレコードを挿入するには、ArrayList
. でもちょっと引っかかる感じ。誰かが例か何かで私を正しい方法に導くことができますか?