java连接sqlite数据库 相对路径怎么写_配置sqlite的相对路径

一般在使用sqlite的时候都是配置url为绝对路径,但是今天在测试代码的时候想到如果将

项目不到tomcat上之后,db文件总不能一直配置成绝对路径,肯定是项目中的某个位置,

因此对jdbc配置文件进行了修改:

jdbc.url=jdbc:sqlite:blog.db

db文件放在WEB-INF/classes下,运行后发现貌似没有问题,然而事实并不是这样QAQ

因为测试中初始化代码会自动根据bean创建表格,我想是不是生成了一个新的db文件呢,

然后我把初始化关掉之后,果然报错了。。。。。。ORZ,然后我在tomcat的bin目录中

找到了崭新的db文件。

百般尝试之后依旧如此,于是去看源码,然后在org.sqlite.core.CoreConnection中发现了这么一段:

private static final String RESOURCE_NAME_PREFIX = ":resource:";

private void open(int openModeFlags, int busyTimeout) throws SQLException {

// check the path to the file exists

if (!":memory:".equals(fileName) && !fileName.startsWith("file:") && !fileName.contains("mode=memory")) {

if (fileName.startsWith(RESOURCE_NAME_PREFIX)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
连接SQLite数据库,需要使用Java中的JDBC驱动程序。以下是连接SQLite数据库的步骤: 1.下载SQLite JDBC驱动程序:从以下网址下载SQLite JDBC驱动程序:https://bitbucket.org/xerial/sqlite-jdbc/downloads/ 2.将驱动程序添加到项目中:将下载的JAR文件添加到您的Java项目的类路径中。 3.建立连接:使用以下代码在Java中建立与SQLite数据库连接: ``` import java.sql.*; public class SQLiteJDBC { public static void main( String args[] ) { Connection c = null; try { Class.forName("org.sqlite.JDBC"); c = DriverManager.getConnection("jdbc:sqlite:test.db"); } catch ( Exception e ) { System.err.println( e.getClass().getName() + ": " + e.getMessage() ); System.exit(0); } System.out.println("Opened database successfully"); } } ``` 以上代码使用了SQLite JDBC驱动程序中的“org.sqlite.JDBC”类来加载驱动程序并建立连接连接字符串“jdbc:sqlite:test.db”指定要连接数据库文件的路径。 4.执行SQL语句:使用以下代码执行SQL语句并获取结果: ``` Statement stmt = null; ResultSet rs = null; try { stmt = c.createStatement(); rs = stmt.executeQuery( "SELECT * FROM mytable;" ); while ( rs.next() ) { int id = rs.getInt("id"); String name = rs.getString("name"); float salary = rs.getFloat("salary"); } } catch ( Exception e ) { System.err.println( e.getClass().getName() + ": " + e.getMessage() ); System.exit(0); } finally { rs.close(); stmt.close(); c.close(); } ``` 以上代码使用了JDBC的Statement对象来执行SQL查询,并使用ResultSet对象来获取结果。请注意,必须在使用完ResultSet和Statement对象后关闭它们。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值