【发布时间】:2015-01-28 21:40:31
【问题描述】:
在我的应用程序中,我使用 JDBC 连接到 sqlite 数据库,这里是创建数据库并在其中创建示例表的示例代码。
public class Main {
public static void main(String[] args) {
try {
Class.forName("org.sqlite.JDBC");
Connection connection = DriverManager.getConnection("jdbc:sqlite:db.sqlite","admin","123");
Statement statement = connection.createStatement();
String query = "CREATE TABLE Users(ID INTEGER PRIMARY KEY AUTOINCREMENT," +
"Login TEXT, " +
"Password TEXT);";
statement.execute(query);
String query1 = "INSERT INTO Users(Login, Password) VALUES ('user1','password1')";
String query2 = "INSERT INTO Users(Login, Password) VALUES ('user2','password2')";
String query3 = "INSERT INTO Users(Login, Password) VALUES ('user3','password3')";
statement.addBatch(query1);
statement.addBatch(query2);
statement.addBatch(query3);
statement.executeBatch();
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
}
}
现在的问题是,我可以轻松打开我的 db 文件,而无需从外部输入任何用户或密码信息,那么我给 DriverManager 使用的参数在哪里以及如何为数据库指定密码?
正如评论中提到的,在 .Net 中,我可以在建立连接时执行以下操作
using(SQLiteConnection con = new SQLiteConnection("Data Source=db.sqlite; Password=123;")
{
//code goes here
}
那么对应的 JDBC 是什么?
【问题讨论】:
-
只有 .net 代码示例,我对此非常熟悉,知道什么是 .net new SQLiteConnection("Data Source=db.sqlite; Password=123 ;") 在 JDBC 中