一、问题产生
想在springboot启动时,自动创建数据库,并执行建表语句,和数据插入语句。于是按照帖子配置了
schema: classpath:db/schema.sql
然而启动时,确报如下错误:
com.baomidou.dynamic.datasource.DynamicDataSourceCreator could not find schema or data file classpath:db/schema.sql
很显然这个错误是mybatits plus报出来的。并且给出了报错的类
DynamicDataSourceCreator
二、定位问题
查看原码找到了报错的地方。
发现传进来的 location是:classpath:db/schema.sql
这怎么可能是一个文件的路径呢?
前面的classpath: 是不是多余了呢?
三、大胆尝试
抱着试一试的态度,我删除了classpath:
再启动服务,这一次数据表正常创建数来了,要插入的数据也插入了。
四、反思
网上很多帖子都说是没有配置:
initialization-mode: always
然而,我是配置了的。那肯定就不是这里的问题了。
之所以会出错,是因为这个我得数据源配置使用了mybatisplus的动态数据源。配置参数的用法和springboot的原始用法有别。
随笔记录,希望能填补,网上对这个错误的更多认识。