前端传了10条数据, Controler转化为一个List如下面这样的:
{msg:[{id:1,content:"未修改"},{id:2,content:"未修改"},{id:2,content:"已经修改"}....]}
关键是数据对比,我可以手动把数据库中的所有值查出来手动做对比,但是这太累了....完全没有效率呀字段多了我总不能一个一个的对比吧....
况且数据库有成千上万行数据呀,每次更新时都查一遍多没效率呀
用Hibernate完全不用管这类事情....
大神来个可用解决方案
(目前6-10条数据很好判断,只需要把id全部查询出来,不存在就插入,关键是判断数据是否需要更新)
最好优雅一点的解决方案,有没有工具库这类的..
http://www.mybatis.org/mybatis-3/zh/dynamic-sql.html
最简单的就是先做插入,捕获主键重复异常后再做更新(不管记录是否有变,都更新);
伪代码:
try{
insert(data);
}catch(Exception ex){
update(data);
}
异常会有很多,不一定是因为已经存在记录不能插入。