我是Big Java 4th的一些练习代码,用于将我的程序连接到derby数据库。我每次都会得到以下内容。
Usage: java -classpath driver_class_path;. TestDB database.properties
作为输出,我无法弄清楚为什么它不会连接。
这是我的测试数据库:
public class TestDB
{
public static void main(String[] args) throws Exception
{
if (args.length == 0)
{
System.out.println(
"Usage: java -classpath driver_class_path"
+ File.pathSeparator
+ ". TestDB database.properties");
return;
}
else
SimpleDataSource.init(args[0]); `
Connection conn = SimpleDataSource.getConnection();
try
{
Statement stat = conn.createStatement();
stat.execute("CREATE TABLE Test (Name CHAR(20))");
stat.execute("INSERT INTO Test VALUES ('Romeo')");
ResultSet result = stat.executeQuery("SELECT * FROM Test");
result.next();
System.out.println(result.getString("Name"));
stat.execute("DROP TABLE Test");
}
finally
{
conn.close();
}
}
}
这是提供的连接程序:
public class SimpleDataSource
{
private static String url;
private static String username;
private static String password;
/**
Initializes the data source.
@param fileName the name of the property file that
contains the database driver, URL, username, and password
*/
public static void init(String fileName)
throws IOException, ClassNotFoundException
{
Properties props = new Properties();
FileInputStream in = new FileInputStream(fileName);
props.load(in);
String driver = props.getProperty("jdbc.driver");
url = props.getProperty("jdbc:url");
username = props.getProperty("jdbc.username");
if (username == null) username = "";
password = props.getProperty("jdbc.password");
if (password == null) password = "";
if (driver != null)
Class.forName(driver);
}
/**
Gets a connection to the database.
@return the database connection
*/
public static Connection getConnection() throws SQLException
{
return DriverManager.getConnection(url, username, password);
}
}
答案 0 :(得分:0)
usage
方法告诉您如何正确运行程序。让我把它翻译成英文,如果由于某种原因你得到这个代码的地方没有解释它。
用法:
这里我们将展示如何从命令提示符使用该程序。如果从IDE运行程序它会类似,但你会省略“java”,类路径和程序名称将单独配置。
的java
运行Java程序的命令
-classpath driver_class_path;。
将类路径指定为Derby驱动程序的位置,然后指定当前目录(程序所在的目录)
TESTDB
您的程序名称 - 即TestDB,因此请勿更改此
database.properties
要使用的属性文件的文件名。属性文件包含数据库连接参数。这是一个软件开发的好习惯!数据库密码(如果有)必须与您设置的密码匹配。