在SQLite中向Database写入查询时,我应该像这样编写它们:
String query = "SELECT Items.ItemName, Items.ItemId, Items.Checked FROM Lists JOIN Items ON Lists.Id = Items.IdList WHERE Lists.Name=?";
或者像这样:
String query = "SELECT " + TABLE_ITEMS + "." + ITEM_NAME + ", " + TABLE_ITEMS + "." + ITEM_ID + ", " + TABLE_ITEMS
+ "." + ITEM_CHECKED + " FROM " + TABLE_LISTS + " JOIN " + TABLE_ITEMS + " ON " + TABLE_LISTS
+ "." + LIST_ID + "=" + TABLE_ITEMS + "." + ITEM_ID_LIST_FOREIGN_KEY + " WHERE " + TABLE_LISTS + "." + LIST_NAME + "=?";
我应该使用什么原则?
答案 0 :(得分:1)
我更喜欢第一种选择。是的,如果您想更改字段/表格名称,您将有很多替换,但是......
如果你决定编写原始查询而不是使用ORM,那么替换总是不可避免的。
答案 1 :(得分:0)
第二种方法是我通常喜欢的方法。这是因为:
如果要更改表中的某个字段,则不需要更新每个查询。只需更新一次字段,所有查询都可以正常工作。
更改数据库版本时。您可以在第二种方法中轻松更新它。
没有'原则',但使用第二种方法比第一种方法有明显的优势。