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

  违反唯一建约束???

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

1public ServerResponse<String> checkValid(String str, String type) { 2 if (StringUtils.isNotBlank(type)) { 3 if (Const.USERNAME.equals(type)) { 4 int resultCount = userMapper.checkUsername(str); 5 if (resultCount > 0) { 6 return ServerResponse.createByErrorMessage("用户名已存在"); 7 } 8 } 9 if (Const.EMAIL.equals(type)) { 10 int resultCount = userMapper.checkEmail(str); 11 if (resultCount > 0) { 12 return ServerResponse.createByErrorMessage("Email已存在"); 13 } 14 } 15 } else { 16 return ServerResponse.createByErrorMessage("参数错误"); 17 } 18 19 return ServerResponse.createBySuccessMessage("校验成功"); 20 } 21 22 if (resultCount > 0) { 23 return ServerResponse.createByErrorMessage("用户名已存在"); 24 }      本来是从数据找到一条数据,说明数据库里已经有该用户,不应该放行,我把条件写成了等于0,使这条重复的记录进入数据库,造成违反唯一键
点赞
收藏

评论区

加载中...

相关推荐

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

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发现可以了。

Golang日志框架之logrus

golang日志库golang标准库的日志框架非常简单,仅仅提供了print,panic和fatal三个函数对于更精细的日志级别、日志文件分割以及日志分发等方面并没有提供支持。所以催生了很多第三方的日志库,但是在golang的世界里,没有一个日志库像slf4j那样在Java中具有绝对统治地位。golang中,流行的日志框架包括logr

SpringBoot2.0中的事务@Transactional

在SpringBoot2.0中使用使用需要注意的地方。1\.加@Transactional的方法不能是private和protected修饰,private会直接报编译错误,protected不会报错。但是事务不起作用。2\.@Transactional可以放在Controller下面直接起作用,看到网上好多同学说要放到@Component下面或