我很困惑如何将我的 Java 应用程序连接到数据库,任何数据库。我不知道从哪里开始。有人可以为我提供一个简单的例子来帮助我吗?
3 回答
欢迎您提出更具体的问题,但由于问题很笼统,请从 Oracle 的 JDBC 教程开始,http://download.oracle.com/javase/tutorial/jdbc/index.html
要从 Java 应用程序连接到 SQL Server,您需要使用 JDBC API。JDBC API 提供连接到数据库、加载适当的驱动程序、发送 SQL 查询、检索结果等的类和方法。
如何连接到数据库
Connection
对象表示与数据库的连接。要建立连接,请使用 方法DriverManager.getConnection
。此方法接受一个包含 URL 的字符串,该 URL 表示我们尝试连接的数据库。下面是建立连接的示例代码:
private String DATABASE_URL = "jdbc:odbc:embedded_sql_app";
// establish connection to database
Connection connection = DriverManager.getConnection( DATABASE_URL,"sa","123" );
关于数据库 URL 以及如何创建它的详细讨论可以在本文末尾提供的资源中找到。
查询数据库
JDBC API 提供了三个接口用于向数据库发送 SQL 语句,Connection
接口中的相应方法创建它们的实例。
- 语句 - 由
Connection.createStatement
方法创建。Statement
对象用于发送不带参数的 SQL 语句。 - PreparedStatement - 由
Connection.prepareStatement
方法创建。PreparedStatement
对象用于预编译的 SQL 语句。它们可以将一个或多个参数作为输入参数(IN 参数)。 - CallableStatement - 由
Connection.prepareCall
方法创建。CallableStatement
对象用于从 Java 数据库应用程序执行 SQL 存储过程。
检索结果
AResultSet
是一个 Java 对象,其中包含执行 SQL 查询的结果。存储在ResultSet
对象中的数据是通过一组 get 方法检索的,这些方法允许访问当前行的各个列。该ResultSet.next
方法用于移动到 的下一行ResultSet
,使其成为当前行。
以下代码片段执行一个返回行集合的查询,其中 a列作为 a , int
b 列作为 a String
, c 列作为 a float
:
java.sql.Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1");
while (rs.next()) {
// retrieve and print the values for the current row
int i = rs.getInt("a");
String s = rs.getString("b");
float f = rs.getFloat("c");
System.out.println("ROW = " + i + " " + s + " " + f);
}
这只是关于如何从 Java 与数据库进行交互的简要介绍。有关上述项目的更多详细信息以及有关传递参数、执行存储过程等的信息,请参阅以下资源:
在这里,您还将找到有关如何以编程方式与数据库交互的信息;即不使用SQL。
希望您觉得这个有帮助。
除了 jdbc,您还可以使用 ibatis(或 mybatis)和 Hibernate 进行连接。Ibatis 非常简单(但有时配置起来很棘手)但它可以解决问题。ibati 例子