1.同时更新多条数据:
t_coins_info为表名;
address为限制列,根据此列更新数据;
coinsInfo为列表对象;
coinsInfo.size()为列表数据的数量.
2.更新数据,如果有就更新,没有就添加:
hash为限制的条件,如果有就根据这个更新数据,如果没有就添加;
第二个引号wallet_address_id、timestamp...为表内的列名;
第三个引号hash,wallet_address_id...为list中存放对象对应的属性;
li为列表对象;
li.size()为列表数据的数量.
public boolean updateCoinsInfo(List<Record> coinsInfo) throws Exception{
boolean flag = Db.tx(new IAtom() {
@Override
public boolean run() {
Db.batchUpdate("t_coins_info", "address", coinsInfo, coinsInfo.size());
return true;
}
});
return flag;
}t_coins_info为表名;
address为限制列,根据此列更新数据;
coinsInfo为列表对象;
coinsInfo.size()为列表数据的数量.
2.更新数据,如果有就更新,没有就添加:
public void updateCoinsTransaction(List<Record> li) {
Db.batch(
"INSERT INTO t_coins_transaction_info (hash) VALUES (?) ON DUPLICATE KEY UPDATE wallet_address_id=?,timestamp=?,from_address=?,to_address=?,value=?,confirmations=?,is_error=?",
"hash,wallet_address_id,timestamp,from_address,to_address,value,confirmations,is_error", li, li.size()
);
}hash为限制的条件,如果有就根据这个更新数据,如果没有就添加;
第二个引号wallet_address_id、timestamp...为表内的列名;
第三个引号hash,wallet_address_id...为list中存放对象对应的属性;
li为列表对象;
li.size()为列表数据的数量.
本文介绍两种批量更新数据库的方法:一种是直接更新多条记录,通过指定的列进行匹配;另一种是在存在时更新,不存在时插入新记录,并提供具体的Java代码实现。
1815

被折叠的 条评论
为什么被折叠?



