SQLite 处理程序 class 作为单例?
SQLite Handler class as singleton?
我正在使用 SQLite 和 JAVA。
我想知道制作一个单例 SQLite 数据库处理程序是否是个好主意 class。
我有一个普通的 SQLite 数据库处理程序 class 但我继续 运行 进入 NOT Closed DB 或关闭我似乎无法弄清楚的早期数据库问题。
所以我认为我可能必须制作一个单例 class 并在创建时打开它并在销毁时关闭它。此外,所有数据库查询都将通过这个始终打开的 class。为什么这是个坏主意?
附带问题...只要程序 运行 就保持数据库连接打开是个好主意吗?
我还读到 SQLite 数据库只能有来自 1 个线程的连接。这是为什么?
因此这将不起作用:/
谢谢
如果你有一个单数据库,使用单例是完全没问题的。
数据库连接不会干扰其他访问(只要没有活动事务),并且不会使用很多资源。
当您需要重新打开数据库时,关闭数据库只会增加开销。
我正在使用 SQLite 和 JAVA。
我想知道制作一个单例 SQLite 数据库处理程序是否是个好主意 class。 我有一个普通的 SQLite 数据库处理程序 class 但我继续 运行 进入 NOT Closed DB 或关闭我似乎无法弄清楚的早期数据库问题。
所以我认为我可能必须制作一个单例 class 并在创建时打开它并在销毁时关闭它。此外,所有数据库查询都将通过这个始终打开的 class。为什么这是个坏主意?
附带问题...只要程序 运行 就保持数据库连接打开是个好主意吗?
我还读到 SQLite 数据库只能有来自 1 个线程的连接。这是为什么? 因此这将不起作用:/
谢谢
如果你有一个单数据库,使用单例是完全没问题的。
数据库连接不会干扰其他访问(只要没有活动事务),并且不会使用很多资源。 当您需要重新打开数据库时,关闭数据库只会增加开销。