Java:连接到数据库以获取数据

标签 java database jakarta-ee

我在从 MySQL 数据库获取数据时有一个关于 Java 的问题。截至目前,我在获取数据时需要编写大量冗余代码。我想知道是否有更好的方法来做到这一点。

例如我有一个从表 A 中获取数据的方法。该方法将如下所示

public void readDataBase() throws Exception {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            connect = DriverManager
                    .getConnection("jdbc:mysql://localhost/feedback?"
                            + "user=sqluser&password=sqluserpw");

            statement = connect.createStatement();
            resultSet = statement
                    .executeQuery("select * from FEEDBACK.COMMENTS");
            writeResultSet(resultSet);              

        } catch (Exception e) {
            throw e;
        } finally {
            close();
        }

    }

我想知道是否有更好的方法来编写这样的方法。因为当您必须编写这样的代码时,它会变得非常难看,也就是说,您必须在每个从数据库获取数据的方法中始终将这些行写入 getConnection

最佳答案

使用 Spring、MyBatis 或 spring-jdbc 进行数据访问,而不是原始 JDBC。

spring-jdbc 是一个包装基本 JDBC 代码的库,您可以在其中提供回调来指定如何将结果集映射到对象等。 Mybatis 级别更高一些,您可以在 xml 文件中指定查询。

使用 Spring,最大的好处是您可以获得声明式事务,因此您无需启动和提交事务的代码,您还可以获得数据访问对象的模板,并且设置连接池很容易。还有很多关于如何将各个部分组合在一起的示例。

关于Java:连接到数据库以获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5681724/

相关文章:

java - 使用有状态 EJB 部署项目期间的 Glassfish 异常

java - 如何在不像素化的情况下提高图像的分辨率?

mysql - 创建一个表,但在复合键中包含其他实体?

Mysql 与 MongoDB 和 DynamoDB - 用户跟踪项目

java - 如何在不使用表单的情况下将数据从 JSP 页面传递到 Java Servlet?

mysql - 时间表生成的数据库设计

java - 如何从 Java 应用程序调用 GraphQL 端点

java - Java Spring 中的 session 劫持

java - 链表实现 - 在无限循环中打印第一个元素

database - 同一数据库服务器上的 Oracle 物化 View 与复制