遇到错误Check the judgetypet-InlineParameterMap.
在tomcat的catalin.out 中遇到以下错误
以上的judgetypet为其中一个方法的id值
00:40:00,020 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - Elapsed period: Mon Dec 24 14:30:00 CST 2018 00:40:00,021 |-INFO in c.q.l.co.rolling.helper.RenameUtil - Renaming file [/opt/apache-tomcat-bg/logs/log.log] to [/opt/apache-tomcat-bg/logs/log2018-12-24.log] 00:40:00,021 |-INFO in c.q.l.core.rolling.helper.TimeBasedArchiveRemover - first clean up after appender initialization 00:40:00,022 |-INFO in c.q.l.core.rolling.helper.TimeBasedArchiveRemover - periodsElapsed = 64 com.ibatis.common.jdbc.exception.NestedSQLException: --- The error occurred in com/unisk/timertask/dao/TimerTaskDao.xml. --- The error occurred while applying a parameter map. --- Check the judgetypet-InlineParameterMap. --- Check the statement (query failed). --- Cause: com.mysql.jdbc.CommunicationsException: The last communications with the server was 7200 seconds ago, which is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.
在ibatis的mapper.xml中的sql语句结尾的分号删掉以后就好了
其实还有另一种解决方案 参照 https://blog.csdn.net/chinesesword/article/details/51917496
让mysql驱动开启批量执行sql的开关。
怎么开启呢?在拼装mysql链接的url时,为其加上allowMultiQueries参数,设置为true,如下:
jdbc.jdbcUrl=jdbc:mysql://127.0.0.1:3306/database?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true