首页 > 数据库技术 > 详细

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

时间:2019-05-23 18:44:27      阅读:1919      评论:0      收藏:0      [点我收藏+]

  先是在日志里出现了

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,使这条重复的记录进入数据库,造成违反唯一键

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

原文:https://www.cnblogs.com/figsprite/p/10913693.html

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