我在从 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/