SQLite 处理程序 class 作为单例?

SQLite Handler class as singleton?

我正在使用 SQLite 和 JAVA。

我想知道制作一个单例 SQLite 数据库处理程序是否是个好主意 class。 我有一个普通的 SQLite 数据库处理程序 class 但我继续 运行 进入 NOT Closed DB 或关闭我似乎无法弄清楚的早期数据库问题。

所以我认为我可能必须制作一个单例 class 并在创建时打开它并在销毁时关闭它。此外,所有数据库查询都将通过这个始终打开的 class。为什么这是个坏主意?

附带问题...只要程序 运行 就保持数据库连接打开是个好主意吗?

我还读到 SQLite 数据库只能有来自 1 个线程的连接。这是为什么? 因此这将不起作用:/

谢谢

如果你有一个数据库,使用单例是完全没问题的。

数据库连接不会干扰其他访问(只要没有活动事务),并且不会使用很多资源。 当您需要重新打开数据库时,关闭数据库只会增加开销。