0
我已經商店表,用於ormlite相應字段聲明如下:的Android/Ormlite - 更新現有的或插入如果不存在
@DatabaseField(canBeNull = false, columnName = C_SHOP_ID, index=true, id=true)
private String shopId;
@DatabaseField(dataType = DataType.BYTE_ARRAY, canBeNull = false, columnName = C_SHOP_ICON)
private byte[] shopIcon;
@DatabaseField(canBeNull = false, columnName = C_SHOP_DETAILS)
private String shopDetails;
@DatabaseField(canBeNull = false, columnName = C_SHOP_NAME)
private String shopName;
@DatabaseField(canBeNull = false, columnName = C_SHOP_SHORT_DESCRIPTION)
private String shopShorDescription;
接着,這是更新現有的行方法(通過主鍵識別對吧?):
public void updateShop(Shops item)
{
try
{
getHelper().getShopItemsDao().update(item);
}
catch (SQLException e)
{
e.printStackTrace();
}
}
現在我需要將我的updateShop方法更改爲updateOrInsertShop。因此,如果指定的商店存在(由shopID確定),它應該被更新。否則,它應該作爲新行插入。 顯然,我可以通過shopID進行選擇以確定某個商店是否已經存在,然後執行update
(如上)或create
(如果不存在)。
有沒有更好的方法?
'getHelper()方法。getShopItemsDao()。createOrUpdate(項目)' –