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,使这条重复的记录进入数据库,造成违反唯一键
  • 相关阅读:
    堆排序(改进的简单选择排序)
    希尔排序(改进的直接插入排序)
    直接插入排序
    简单选择排序
    冒泡排序&排序算法简介
    处理器的体系结构
    虚拟存储器
    Python函数
    在主项目中添加子项目
    聚合分组查询
  • 原文地址:https://www.cnblogs.com/figsprite/p/10913693.html
Copyright © 2011-2022 走看看