使用Java连接到数据库

时间:2011-01-18 22:04:21

标签: java database database-connectivity

我对如何将我的Java应用程序连接到数据库,任何数据库感到困惑。我不知道从哪里开始。任何人都可以为我提供一个可以帮助我的简单例子吗?

3 个答案:

答案 0 :(得分:2)

欢迎您提出更具体的问题,但问题很一般,请从Oracle的JDBC教程开始,http://download.oracle.com/javase/tutorial/jdbc/index.html

答案 1 :(得分:0)

除了jdbc,您可以使用ibatis(或mybatis)和Hibernate进行连接。 Ibatis非常简单(但有时候配置起来很棘手)但它可以解决问题。ibatis example

答案 2 :(得分:0)

要从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接口中的相应方法创建了它们的实例。

  1. 声明 - 由Connection.createStatement方法创建。 Statement对象用于发送没有参数的SQL语句。
  2. PreparedStatement - 由Connection.prepareStatement方法创建。 PreparedStatement对象用于预编译的SQL语句。这些可以将一个或多个参数作为输入参数(IN参数)。
  3. CallableStatement - 由Connection.prepareCall方法创建。 CallableStatement对象用于从Java数据库应用程序执行SQL存储过程。
  4. 检索结果

    ResultSet是一个Java对象,包含执行SQL查询的结果。存储在ResultSet对象中的数据是通过一组get方法检索的,这些方法允许访问当前行的各个列。 ResultSet.next方法用于移动到ResultSet的下一行,使其成为当前行。

    以下代码片段执行一个返回行集合的查询,其中列a为int,列b为String,列c为float:< / p>

    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与数据库交互的简要介绍。有关上述项目的更多详细信息以及有关传递参数,执行存储过程等的信息,请参阅以下资源:

    http://www.shahriarnk.com/Shahriar-N-K-Research-Embedding-SQL-in-C-Sharp-Java.html#Shahriar_N_Embedding_SQL_in_Java

    在这里,您还可以找到有关如何以编程方式与数据库交互的信息;即不使用SQL。

    希望你觉得这很有用。