我目前正在编写一个包装SQLite数据库的java类。该类有两种实例化方法:
这就是我提出的:
public class SQLiteDatabaseWrapper {
public static SQLiteDatabaseWrapper openExisting(File PathToDB) {
return new SQLiteDatabaseWrapper(PathToDB);
}
public static SQLiteDatabaseWrapper createNew(File PathToDB) {
CreateAndInitializeNewDatabase(PathToDB);
return new SQLiteDatabaseWrapper(PathToDB);
}
private SQLiteDatabaseWrapper(File PathToDB) {
// Open connection and setup wrapper
}
}
这是采用Java的方式,还是针对这种情况还有其他最佳做法?
答案 0 :(得分:2)
首先:java方法应该以小写开头。它不是由编译器或语言规范强制执行的,但它是每个人都遵循的惯例,如果你不遵循它,你将遇到工具,IDE,以及最重要的其他程序员的麻烦。
答案 1 :(得分:0)
Java已经有了用于数据库抽象的标准接口,称为JDBC。最佳实践是使用现有的标准接口。这是一个很好的JDBC tutorial。你应该得到一个SQLite JDBC驱动程序并使用它。 SQLite.org有一个comprehensive list of database drivers including JDBC drivers。另外,这是一个tutorial on connecting to a SQLite database using JDBC。
答案 2 :(得分:0)
你可以做到
public SQLiteDatabaseWrapper(File pathToDB, boolean createNew)
throws IOException {
if (!pathToDB.exists()) {
if (createNew) {
// Create new database, potentially throws exception
} else {
throw new FileNotFoundException();
}
}
// Open connection and setup wrapper
}
public SQLiteDatabaseWrapper(File pathToDB) throws IOException {
this(pathToDB, false);
}
避免依赖静态方法来创建数据库包装器的实例。