gpt4 book ai didi

java - Derby 中的存储过程

转载 作者:搜寻专家 更新时间:2023-10-30 21:53:44 26 4
gpt4 key购买 nike

就此而言,我是 Derby 和一般数据库的新手。如何为嵌入式 derby 数据库创建准备好的语句?我不确定,因为数据库是嵌入式的。

我的字符串是:


final String updateString = "create table " + TABLE_NAME_TBL_IPS + " (" +
TABLE_COLUMN_COMPANY + " " + TABLE_COLUMN_COMPANY_DATA_TYPE+ "," +
TABLE_COLUMN_IP + " " + TABLE_COLUMN_IP_DATA_TYPE + ")";

此外,将其用作存储过程而不是准备好的语句调用有什么好处?

最佳答案

数据库是否嵌入并不重要,只要它具有 JDBC 连接即可。在您的情况下, Derby 确实为您提供了 connection information .

您的代码可能看起来像这样:-

// much easier to read with String.format()... in my opinion
final String updateString = String.format("create table %s (%s %s, %s %s)",
TABLE_NAME_TBL_IPS,
TABLE_COLUMN_COMPANY,
TABLE_COLUMN_COMPANY_DATA_TYPE,
TABLE_COLUMN_IP,
TABLE_COLUMN_IP_DATA_TYPE);

Connection con = null;

try {
con = DriverManager.getConnection("jdbc:derby:yourDatabaseName");

PreparedStatement ps = con.prepareStatement(updateString);
ps.executeUpdate();
ps.close();
}
catch (SQLException e) {
e.printStackTrace();
}
finally {
try {
con.close();
}
catch (Exception ignored) {
}
}

关于您是使用存储过程还是 PreparedStatement 这样做的问题,您可以轻松搜索大量信息。您通常使用存储过程来对一组 SQL 语句进行分组,而 PreparedStatement 只允许您执行一个 SQL 语句。如果您打算公开该 API 以允许您的用户执行它而不考虑技术(Java、.NET、PHP),那么使用存储过程是个好主意。但是,如果您编写此 SQL 语句只是为了让您的 Java 应用程序正常工作,那么只使用 PreparedStatement 是有意义的。

关于java - Derby 中的存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5170189/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com