一直在用mysql,现在想做一个H2+Mybatis+controller的demo目的是以后做功能测试的时候直接拿来用会比较方便,结果总是提示找不到表,折腾了一下午才找了原因,我忘记了配置spring.datasource.schema
。application.propertites
中的配置如下:
spring.datasource.url=jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
spring.datasource.schema=classpath:db/migration/*.sql
mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.config-location=classpath:mybatis-config.xml
我用的是in mem模式,配置sql文件的路径后,单元测试成功了。我又把spring.datasource.schema
上面的所有配置都删掉,单元测试依旧通过了。没有细查过H2的默认配置是怎么样的,不得不说有时候默认配置还是很坑小白的。