这是一个表的查询,根据学校ID查到对应数据
EntityWrapper<ViewCardNoListServer> ew =new EntityWrapper<ViewCardNoListServer>();
ew.where("schoolcode = {0}", schoolCode);
List<ViewCardNoListServer> list1 =iViewCardNoListServerService.selectList(ew);
现在把一个List集合数据插入表ViewCardNoListServer中,怎么判断表中是否已经存在相同主键的数据,有就做更新,没有做插入。。求大神指点
查询里做判断id = #{id},具体百度试试应该是这样的
Oracle的话可以使用merge语法,语法如下:
MERGE INTO T T1
USING (SELECT '1001' AS a,2 AS b FROM dual) T2
ON ( T1.a=T2.a)
WHEN MATCHED THEN
UPDATE SET T1.b = T2.b
WHEN NOT MATCHED THEN
INSERT (a,b) VALUES(T2.a,T2.b);
MongoDB类似的数据库就直接用save方法更新就行了,
MySQL这种数据库你就只能在代码里边遍历判断了。
gvbjiu_*jbfxc.
)chhg.f#&﹉'jkibnf:%
可以在插入之前判断啊,存在的放入更新集合中,不存在的放入插入集合中,然后批量更新和插入
查的时候已经有主键了,foreach根据主键更新就好了。如果查完换表插入,就先查询再处理。