如何使用 Java 来执行 SQL 查询?

2025-12-16 08:48:57

1、建立连接后, 您将需要执行 SQL 操作来检索和操作数据。

如何使用 Java 来执行 SQL 查询?

2、下图显示了对该数据库的简单查询, 将结果填充到常规 Java 类型中:

@Testpublic void retrieveRows() throws SQLException{    Connection connection = DriverManager.getConnection(            "jdbc:mysql://localhost:3306/mytest",            "root",            "root");    Statement stmt = connection.createStatement();    ResultSet rs = stmt.executeQuery("select employee_number,name from employees");    Map<Integer,String> employeeMap = new HashMap<>();    while (rs.next()) {        int employeeNumber = rs.getInt("employee_number");        String name = rs.getString("name");        employeeMap.put(employeeNumber,name);    }    Map<Integer,String> expectedMap = new HashMap<Integer,String>(){{        put(1,"Bob Smith");        put(2,"Alice Smith");    }};    System.out.println(expectedMap.equals(employeeMap));    rs.close();    stmt.close();}

如何使用 Java 来执行 SQL 查询?

3、数据库连接提供语句, 语句运行查询, 返回结果集。

4、ResultSet 接口具有类似迭代的方法。当ResultSet 实例处于打开状态时, 数据库有一个打开的游标, 接下来的每个调用都会将光标移动到下一行。该方法返回一个布尔值, 如果查询中没有更多的行, 则返回 false。

5、每个数据库供应商都提供自己的 JDBC 类实现, 如语句、结果集和连接。因此, 应由供应商提供从数据库数据类型到 Java 类型的映射。通常, 这不会带来太多问题, 因为大多数数据类型都具有逻辑等效项。

6、在步骤二的情况下,employee_number列是 MySQL 数据库中的整数, 因此在结果集调用 Getint 将转换为 Java int。同样, 对于name列, 这是一个 VARCHAR, 它可以映射到一个字符串。

如何使用 Java 来执行 SQL 查询?

7、getXXX 方法被重载, 可以采用表示列名的字符串, 也可以采用 int, 表示列排序, 从1编制索引.

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢