最近接手一个项目,使用的框架是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);

Spring boot mybatis项目启动后一直刷日志的bug修复……的更多相关文章

  1. 【Spring容器】项目启动后初始化数据的两种实践方案

    早期业务紧急,没有过多的在意项目的运行效率,现在回过头看走查代码,发现后端项目(Spring MVC+MyBatis)在启动过程中多次解析mybatis的xml配置文件及初始化数据,对开发阶段开发人员 ...

  2. spring boot, 容器启动后执行某操作

    常有在spring容器启动后执行某些操作的需求,现做了一个demo的实现,做一下记录,也希望可以给需要的同学提供参考. 1.spring启动后,以新线程执行后续需要的操作,所以执行类实现Runnabl ...

  3. Spring Boot学习--项目启动时执行指定service的指定方法

    Springboot给我们提供了两种“开机启动”某些方法的方式:ApplicationRunner和CommandLineRunner. 这两种方法提供的目的是为了满足,在项目启动的时候立刻执行某些方 ...

  4. Spring Boot学习--项目启动时执行特定方法

    Springboot给我们提供了两种"开机启动"某些方法的方式:ApplicationRunner和CommandLineRunner. 这两种方法提供的目的是为了满足,在项目启动 ...

  5. 【spring cloud】【spring boot】项目启动报错:Cannot determine embedded database driver class for database type NONE

    解决参考文章:https://blog.csdn.net/hengyunabc/article/details/78762097 spring boot启动报错如下: Error starting A ...

  6. Spring Boot 设置项目名后静态文件相对路径问题

    出现问题的原因 server.servlet.context-path=testDemospring.mvc.static-path-pattern=/static/**定义项目名和静态资源路径后发现 ...

  7. spring boot新建项目启动报:Unregistering JMX-exposed beans on shutdown

    原因为:SpringBoot内置Tomcat没有正常启动,在pom.xml 中添加: <dependency> <groupId>org.springframework.boo ...

  8. spring boot 一个项目启动多个实例

    0.前言 在开发中,我们经常需要以不同端口启动同一个项目的多个实例,IDEA中启动多个实例很简单 1.方法 1.1.在项目中,选择编辑配置,然后点选允许并行运行,如下图: 1.2.调出RunDashb ...

  9. spring boot mybatis 打成可执行jar包后启动UnsatisfiedDependencyException异常

    我的spring boot + mybatis项目在idea里面执行正常,但发布测试环境打成可执行jar包后就启动失败,提示错误如下: [ ERROR] [2018-08-30 17:23:48] o ...

随机推荐

  1. 以前用SQL实现的机构职能树,再看看

    DECLARE CNT NUMBER; TMP ); vtmp ); ltmp1 ); ltmp2 ); ltmp3 ); ltmp4 ); NTMP NUMBER; CURSOR CSR_TEST ...

  2. myeclipse eclipse 使用git插件访问github 的解决方案

    具体的步骤很多帖子都有写,这里不再赘述,需要说明的一点,git插件的版本很重要,在官网上下载的最新版本在MyEclipse8.5,MyEclipse9.1,MyEclipse10上面都没有成功. 这里 ...

  3. POJ 3294 Life Forms 后缀数组+二分 求至少k个字符串中包含的最长子串

    Life Forms   Description You may have wondered why most extraterrestrial life forms resemble humans, ...

  4. apache配置多个版本php

    参看链接:http://my.oschina.net/u/2366984/blog/543148?p={{page}} 主要虚拟主机配置信息 FcgidInitialEnv PHPRC "D ...

  5. 如何使用XShell登录亚马逊EC2云服务器

    http://jingyan.baidu.com/article/a3a3f811d5fc338da2eb8a00.html

  6. HDU5322 Hope(DP + CDQ分治 + NTT)

    题目 Source http://acm.hdu.edu.cn/showproblem.php?pid=5322 Description Hope is a good thing, which can ...

  7. requirejs的用法(二)

    这个系列的第一部分和第二部分,介绍了Javascript模块原型和理论概念,今天介绍如何将它们用于实战. 我采用的是一个非常流行的库require.js. 一.为什么要用require.js? 最早的 ...

  8. [转载]Grunt插件之LiveReload 实现页面自动刷新,所见即所得编辑

    配置文件下载  http://vdisk.weibo.com/s/DOlfks4wpIj LiveReload安装前的准备工作: 安装Node.js和Grunt,如果第一次接触,可以参考:Window ...

  9. About_类与对象

    所谓类,就是把具有相同行为,特征的归为一类: 1)什么是面向对象: 起初,“面向对象”是专指在程序设计中采用封装.继承.抽象等设计方法.可是,这个定义显然不能再适合现在情况.面向对象的思想已经涉及到软 ...

  10. HDU2653 BFS+优先队列

    Waiting ten thousand years for Love Time Limit: 10000/2000 MS (Java/Others)    Memory Limit: 32768/3 ...