对Mysql业务表批量更新方法:
一、如果系统架构使用的JPA对象化操作ORM框架的话
可以使用对象化查询出多条记录,并在程序中处理对象后,再一次性meger()。如下示例:
@PersistenceContext
protected EntityManager em;
public <E extends Serializable> void update(List<E> entries) {
entries.forEach(entity -> em.merge(entity));
em.flush();
}
二、使用原生方式:
借用CASE WHEN语法,如下:
UPDATE t_table t
SET t.point = CASE WHEN t.id = 1 then 1
WHEN t.id = 100 then 2
WHEN t.id = 200 then 3
ELSE 0 END
WHERE t.id IN (1, 100, 200)