春季JDBC与普通JDBC之间的区别?
2022-09-01 15:39:52
Spring JDBC与JDBC的主要区别是什么?
Spring JDBC与JDBC的主要区别是什么?
让我向您展示一些使用JDBC的简单示例:
final Connection connection = ds.getConnection();
try {
final Statement statement = connection.createStatement();
try {
final ResultSet resultSet = statement.executeQuery("SELECT COUNT(*) FROM Orders");
try {
resultSet.next();
final int c = resultSet.getInt(1);
} finally {
resultSet.close();
}
} finally {
statement.close();
}
} finally {
connection.close();
}
不过,当尝试使用资源时,情况要好得多:
try (
Connection connection = ds.getConnection();
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("SELECT COUNT(*) FROM Orders");
) {
resultSet.next();
final int c = resultSet.getInt(1);
}
当然,您可以提取通用代码并使用模板方法设计模式。实际上,你会重塑:JdbcTemplate
final int c = new JdbcTemplate(ds).queryForInt("SELECT COUNT(*) FROM Orders");
此外,Spring JDBC还提供了异常翻译(不再检查数据库/方言之间的差异)和简单的ORM功能。SQLException
1.) Spring jdbc 模块是 jdbc 技术之上的一个抽象层,该层避免了 jdbc 编程中使用的样板代码。2.) Spring ORM模块是ORM工具顶部的抽象层。3.)当再次使用ORM工具时,我们再次使用冬眠,我们有一个锅炉板代码,这个春天的ORM层避免了ORM工具的锅炉板代码。