zoukankan      html  css  js  c++  java
  • Spring boot mybatis项目启动后一直刷日志的bug修复……

    最近接手一个项目,使用的框架是springboot+mybatis;

    其中持久层是使用mybatis集成的,sql是配置在mapper.xml文件中;

    然后呢,有时候做新功能的时候,往xml文件中增加新的sql逻辑的时候,总会因为疏忽,或者手误 等原因,造成一些错误

    具体表现就是:eclipse的控制台一直在快速的刷日志,也没有看到什么报错的东西,就是刷一些加载class文件的内容;

    百度之后说是xml配置文件错的,还有一些文章是说要去 源码中的某个抛错的地方增加断点,可是每次加了断点之后 启动时根本没有进入到断点中去;

    最后还是使用一个通用的找bug方式:

      排除法:依次将自己新修改的内容注释掉,然后逐步定位问题点,简单粗暴,但是非常有用!

    这里先记录下,因为我每次都没有优先想到这个办法。。。。

     

    版本二:

    AbstractBeanFactory这个抽象类里面:getTypeForFactoryBean这个内部类:1465行 catch里面依次增加断点,查看异常信息:Cause: java.lang.IllegalArgumentException: No enum constant org.apache.ibatis.type.JdbcType.DATETIME

     

    mybatis不认识DATETIME,要使用TIMESTAMP

    支持的类型详见:

    org.apache.ibatis.type.JdbcType  枚举类

    /*

    * This is added to enable basic support for the

    * ARRAY data type - but a custom type handler is still required

    */

    ARRAY(Types.ARRAY),

    BIT(Types.BIT),

    TINYINT(Types.TINYINT),

    SMALLINT(Types.SMALLINT),

    INTEGER(Types.INTEGER),

    BIGINT(Types.BIGINT),

    FLOAT(Types.FLOAT),

    REAL(Types.REAL),

    DOUBLE(Types.DOUBLE),

    NUMERIC(Types.NUMERIC),

    DECIMAL(Types.DECIMAL),

    CHAR(Types.CHAR),

    VARCHAR(Types.VARCHAR),

    LONGVARCHAR(Types.LONGVARCHAR),

    DATE(Types.DATE),

    TIME(Types.TIME),

    TIMESTAMP(Types.TIMESTAMP),

    BINARY(Types.BINARY),

    VARBINARY(Types.VARBINARY),

    LONGVARBINARY(Types.LONGVARBINARY),

    NULL(Types.NULL),

    OTHER(Types.OTHER),

    BLOB(Types.BLOB),

    CLOB(Types.CLOB),

    BOOLEAN(Types.BOOLEAN),

    CURSOR(-10), // Oracle

    UNDEFINED(Integer.MIN_VALUE + 1000),

    NVARCHAR(Types.NVARCHAR), // JDK6

    NCHAR(Types.NCHAR), // JDK6

    NCLOB(Types.NCLOB), // JDK6

    STRUCT(Types.STRUCT);

  • 相关阅读:
    异常
    gateway 网关
    Hystrix 图形化界面
    Hystrix 服务限流
    linux-CenOS修复内核或修改内核系统启动顺序
    Linux-CentOS不能yum update/upgrade.除非是初始环境
    Linux-CentOS配置网卡
    安装SQLSERVER2008提示错误SQL100MSI
    金蝶采购标志
    Pycharm社区版安装外部库文件
  • 原文地址:https://www.cnblogs.com/ning-blogs/p/6202841.html
Copyright © 2011-2022 走看看