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

Stella981
• 阅读 1477

  先是在日志里出现了

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,使这条重复的记录进入数据库,造成违反唯一键
点赞
收藏
评论区
推荐文章
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
3个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Easter79 Easter79
3年前
tidb集群某个节点报错之:node_exporter
今天启动集群tidb时出现一个错误,是某个tikv节点报错:node\_exporter9100.service failed一个节点的问题会导致整个集群启动失败。去此节点下的日志文件中查找,发现没有什么报错原因。无奈此时只能去系统日志中查看发生了什么问题果然发现了问题Jan1615:35:05ip1723126133
Plugin 'org.mybatis.generator:mybatis-generator-maven-plugin:1.3.5' not foun
pom.xml文件报错原先是没有指定版本,后来指定了版本还是报错。后来改为<groupIdorg.mybatis.generator</groupId<artifactIdmybatisgeneratormavenplugin</artifactId<version1.3.5</versionlanguage发现可以了。
Stella981 Stella981
3年前
Golang日志框架之logrus
golang日志库golang标准库的日志框架非常简单,仅仅提供了print,panic和fatal三个函数对于更精细的日志级别、日志文件分割以及日志分发等方面并没有提供支持。所以催生了很多第三方的日志库,但是在golang的世界里,没有一个日志库像slf4j那样在Java中具有绝对统治地位。golang中,流行的日志框架包括logr
Stella981 Stella981
3年前
SpringBoot2.0中的事务@Transactional
在SpringBoot2.0中使用使用需要注意的地方。1\.加@Transactional的方法不能是private和protected修饰,private会直接报编译错误,protected不会报错。但是事务不起作用。2\.@Transactional可以放在Controller下面直接起作用,看到网上好多同学说要放到@Component下面或
Stella981 Stella981
3年前
AOSuite V3.0 发布,开源JavaEE快速开发平台
AOSuiteV3.0发布了,这个版本包含11 个新增/修复/优化。版本变更日志1、【修复】修复了Httpclient工具类设置连接超时时间和等待响应时间无效的bug。2、【新增】新引入了标准标签中的fn标签库和fmt标签库。3、【新增】在表格管理中加入了表格列分割线的范例。4、【优化】将代码生成器生成的\\Dao.xml中
Easter79 Easter79
3年前
SpringBoot2.0中的事务@Transactional
在SpringBoot2.0中使用使用需要注意的地方。1\.加@Transactional的方法不能是private和protected修饰,private会直接报编译错误,protected不会报错。但是事务不起作用。2\.@Transactional可以放在Controller下面直接起作用,看到网上好多同学说要放到@Component下面或
Stella981 Stella981
3年前
Mapped Statements collection does not contain
这两天测试在测试代码,采用的ibatis,一直报标题的错误。看了一下代码发现错误是调用的xml的ID名称和xml中的ID名称对不上。网上找了一下还有可能出现这个问题的原因,总结如下: 1、mapper.xml中没有加入namespace 2、mapper.xml中的方法和接口mapper的方法不对应 3、mapper.xml没有加入到my
Stella981 Stella981
3年前
Logstash收集nginx访问日志和错误日志
1、收集访问日志1)、首先是要在nginx里面配置日志格式化输出log_formatmain"$http_x_forwarded_for|$time_local|$request|$status|$body_bytes_sent|$request_body|$content_length|$http_ref