最近自己在写项目的时候使用了springboot+mybatis+sqlite,因为sqlite简单轻量,只有一个文件,可以很方便的移植,但是在做的时候发现了一个问题,就是自己使用程序可以存入数据,使用程序也能查询出来,但是通过sqlite studio,navicate premium等工具查看的时候发现数据表里面是空的。
真是个奇怪的问题,在网上搜索有人说是事务没提交,有人说什么去掉@Transactional注解就好了,我这边都试过了都不行,甚至将mybatis换成了spring 的jdbcTemplate还是一样的问题,实在没办法,我又单独使用java jdbc写了个main方法,发现还是不行,又怀疑包和数据库的版本有问题,又换包的版本,换数据库的版本等等,折腾了很长时间都不行。
万般无奈之际抱着试试的态度将数据库的地址改为了绝对路径发现好了,工具能看到数据了!真是太惊喜了!
之前的配置为:
spring.datasource.url=jdbc:sqlite::resource:static/sqlite/test
我将sqlite数据库文件放在了static/sqlite文件加下面,test是文件名