zoukankan      html  css  js  c++  java
  • Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@38e46e4a]

      先是在日志里出现了

    Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@38e46e4a]

      看网上的博客,以为是XML中事务标签配错了,检查了好一阵子,发现并没有错。

      接下来看日志中的报错

    MySQLIntegrityConstraintViolationException: Column 'id' in field list is ambiguous

      违反唯一建约束???

      然后我去代码里查看,发现是代码逻辑写错了,

        public ServerResponse<String> checkValid(String str, String type) {
            if (StringUtils.isNotBlank(type)) {
                if (Const.USERNAME.equals(type)) {
                    int resultCount = userMapper.checkUsername(str);
                    if (resultCount > 0) {
                        return ServerResponse.createByErrorMessage("用户名已存在");
                    }
                }
                if (Const.EMAIL.equals(type)) {
                    int resultCount = userMapper.checkEmail(str);
                    if (resultCount > 0) {
                        return ServerResponse.createByErrorMessage("Email已存在");
                    }
                }
            } else {
                return ServerResponse.createByErrorMessage("参数错误");
            }
    
            return ServerResponse.createBySuccessMessage("校验成功");
        }
                    if (resultCount > 0) {
                        return ServerResponse.createByErrorMessage("用户名已存在");
                    }

          本来是从数据找到一条数据,说明数据库里已经有该用户,不应该放行,我把条件写成了等于0,使这条重复的记录进入数据库,造成违反唯一键
  • 相关阅读:
    Form组件
    LAMP+Varnish的实现
    缓存反向代理-Varnish
    CDN初识
    HTTP缓存初探
    Keepalived搭建主从架构、主主架构实例
    实现高可用-Keepalived
    nginx负载均衡实例
    lvs集群实现lvs-dr模型和lvs-nat模型
    LVS介绍
  • 原文地址:https://www.cnblogs.com/figsprite/p/10913693.html
Copyright © 2011-2022 走看看