首页 > 其他 > 详细

做update业务时,name名唯一性校验,问题及解决

时间:2019-12-27 15:05:20      阅读:116      评论:0      收藏:0      [点我收藏+]

1. 在做update业务时,在更新name时,需要检查与存在的是否有重名的现象。碰到的问题是,如果简单的判断bean是否一致,会导致自己没有改名也报重复,如果根据size大小,有时又不准确。解决如下:

2.在入参封装的时候,会传入一个实体bean。这个bean,取得他的name后,然后查找获取一个bean类的集合,在这个list中,遍历他的每一个bean,的每一个id,如果存在不一样的id,就说明已经重名

3.如下,在这个例子中,authc是更新的bean。本例亲测试通过。

@RequestMapping("/authcUpdate/{id}")
    public Map authcUpdate(@Valid Authc authc,BindingResult error) {
        Map<String ,Object > map = new HashMap<String,Object> ();

        List<Authc> authcByResource = authcService.getAuthcByResource(authc);

        if(authcByResource.size()>0) {
            for (Authc authc2 : authcByResource) {
                //判断有没有重复id,如果有,则为本条修改的数据,如果是一条新的,说明还存在其他重复数据。
                if(authc2.getId()!=authc.getId()) {
    
                    error.addError(new FieldError("authc", "resource", "资源名重复"));
                }
            }
        }

 

做update业务时,name名唯一性校验,问题及解决

原文:https://www.cnblogs.com/sdgtxuyong/p/12106936.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!