常见报错及解决方案

一.数据库或SQL相关
 

1.无效的列类型

  • 1111很大可能是字段类型对不上,看实体类,xml,和数据库,采用字段二分排除法排查,还有可能是参数为空
  • mybatis.configuration.jdbc-type-for-null = NULL  

    而当参数不为 NULL 时,Mybatis 会针对参数自身的类型调用 PreparedStatement 上不同的方法,此时 JdbcType 则是可以省略的。再看 JDBC 中PreparedStatement 的 setNull 方法就不难明白,JDBC 要求我们设置 NULL 参数时必须指定 JDBC 类型,Mybatis 只是照章办事而已

2.无效的字符可能是空格或者插入语句末尾的分号导致 

 

 

二.JAVA相关 

1.@Transactional方法无效

  • .spring事物@Transactional作用在非public权限上的方法无效
  • @Transactional 加于private方法, 无效
    @Transactional 加于未加入接口的public方法, 再通过普通接口方法调用, 无效
    @Transactional 加于接口方法, 无论下面调用的是private或public方法, 都有效
    @Transactional 加于接口方法后, 被本类普通接口方法直接调用, 无效
    @Transactional 加于接口方法后, 被本类普通接口方法通过接口调用, 有效
    @Transactional 加于接口方法后, 被它类的接口方法调用, 有效
    @Transactional 加于接口方法后, 被它类的私有方法调用后, 有效
  • try-catch包裹且并未抛出异常不会回滚

猜你喜欢

转载自blog.csdn.net/qq_30869501/article/details/85158415