有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用Java连接到数据库

我很困惑如何将Java应用程序连接到数据库,任何数据库。我不知道从哪里开始。有谁能给我举个简单的例子来帮助我


共 (3) 个答案

  1. # 1 楼答案

    除了jdbc之外,还可以使用ibatis(或mybatis)和Hibernate进行连接。Ibatis非常简单(但有时很难配置),但它做到了这一点ibatis example

  2. # 3 楼答案

    要从Java应用程序连接到SQL Server,需要使用JDBCAPI。JDBCAPI提供连接到数据库、加载适当的驱动程序、发送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以及如何创建它的详细讨论可以在本文末尾提供的资源中找到

    查询数据库

    JDBCAPI提供了三个接口来向数据库发送SQL语句,并且Connection接口中的相应方法创建了它们的实例

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

    检索结果

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

    以下代码片段执行一个查询,返回一组行,其中列a为int,列b为String,列c为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与数据库交互的简要介绍。有关上述各项的更多详细信息以及有关传递参数、执行存储过程等的信息,请参阅以下资源:

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

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

    希望你觉得这个有用