我已经开始创建一个 toDoList,我喜欢创建一个“DataMapper”来触发对我的数据库的查询。
我创建了这个 Datamapper 来为我处理事情,但我不知道在这种情况下我的思维方式是否正确。在我的 Datamapper 中,我只创建了 1 个必须执行查询的方法和几个知道要触发什么查询的方法(以最小化打开和关闭方法)。
例如我有这个:
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;
}
所以现在我不知道这样返回是否正确ResultSet
。我很难做类似的事情
public ArrayList<ToDoListModel> getModel() {
return null;
}
插入返回的每条记录ArrayList
。但我觉得我有点卡住了。有人可以通过示例或其他方式引导我走向正确的道路吗?