springboot+mybatis+sqlite 使用程序能写进sqlite数据库,但是使用sqlite studio查看却显示没有数据

        最近自己在写项目的时候使用了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是文件名

 

springboot+mybatis+sqlite 使用程序能写进sqlite数据库,但是使用sqlite studio查看却显示没有数据_第1张图片

后来改为绝对路径即从盘符开始发现好了:

spring.datasource.url=jdbc:sqlite:E:/Java/test

但是我这种写法太死板了,项目移植的时候不够灵活,还得手动改配置,这种写法明显是不合理的。后来再次猜想,或许是resource目录下不可以,于是在项目中新建文件夹(非resource目录下),将数据库文件放入其中,发现也可以了。

将数据库文件放到下面的目录下:

springboot+mybatis+sqlite 使用程序能写进sqlite数据库,但是使用sqlite studio查看却显示没有数据_第2张图片

这样修改配置为:

spring.datasource.url=jdbc:sqlite:data/share.db

搞定!

问题:为什么将数据库放在resource目录下会出现程序新增和查询都正常,但是通过工具确看不到数据的情况?

希望各位大神指教。

你可能感兴趣的:(数据库)