一开始用调用xml语句,具体报错如下:
用调用xml的SQL报错 Invalid bound statement (not found),离谱的是调用部分数据源pg数据源正常,调用mysql数据源就包这个错,debug发现原始的configuration的statusments里就没把这个xml的方法加载进去。debug加载xml方法太长了,这里图简单只好换用Java注解方式写SQL试试:
写了三个查询,发现直接启动失败,报错 database id is [null],具体如下:
问题终于找到了,于是尝试如下配置:
发现不起作用,于是只能再次debug,最终找到问题:
很明显,配置的DatabaseIdProvider的key和数据源的数据库名称没匹配上!找到本地DatabaseIdProvider配置如下:
这个配置加上那个源码解释了pg可以而mysql不行的原因,所以将其中的Mysql改成MySQL就行了。