这可能更多是一个风格/标准/实践问题,但以下哪一个是更好的方法以及原因:
public long insertSomething(MyAccount account, Employee employee, double rating) {
ContentValues values = new ContentValues();
values.put(ACCOUNT_ID, account.getId());
values.put(EMPLOYEE_ID, employee.getId());
values.put(RATING, rating);
return mDatabase.insert(MY_TABLE, null, values);
}
这基本上是接受对象,然后在方法内使用它们的 ID 来执行查询。
或者:
public long insertSomething(long accountId, long employeeID, double rating) {
ContentValues values = new ContentValues();
values.put(ACCOUNT_ID, accountId);
values.put(EMPLOYEE_ID, employeeID);
values.put(RATING, rating);
return mDatabase.insert(MY_TABLE, null, values);
}
有理由选择其中之一吗?我不确定应该采用哪种方法。
最佳答案
两种实现方式同样有效,因此最终取决于哪种方式对您来说更直接、更友好。
有时,有效性是由纯粹性能以外的因素决定的,例如可读性和一致性。关于一致性,如果你的SQLiteOpenHelper中的所有方法都只使用对象或只使用单个值作为参数,那么维护代码会更容易一些,因为从长远来看你会习惯代码的一般结构。
关于java - SQLiteOpenHelper 方法应该接受对象或 ID 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37127363/