【发布时间】:2016-12-06 05:37:05
【问题描述】:
JDBC Template 和 Hibernate 有什么区别?
我在某处读到 JDBC 模板在我们进行批量操作时会带来好处,对吗?
【问题讨论】:
标签: spring hibernate jdbc jdbctemplate
JDBC Template 和 Hibernate 有什么区别?
我在某处读到 JDBC 模板在我们进行批量操作时会带来好处,对吗?
【问题讨论】:
标签: spring hibernate jdbc jdbctemplate
JDBCTemplate 让我们可以轻松使用 JDBC,而HibernateTemplate 让我们可以轻松使用 Hibernate。比如这里是JDBCTemplate中的一个方法:
<T> T queryForObject(String sql, Object[] args, RowMapper<T> rowMapper)
您只需要准备好您的 SQL(通过 sql 参数传递)和参数(通过 args 传递),定义将结果集转换为 T 类型的对象的 RowMapper。 JDBCTemplate 将为您完成剩下的工作:创建准备语句、打开连接、执行 SQL 代码...如果有任何错误,JDBC 模板会对其进行翻译,然后将其包装在 DataAccessException 等中。
一般而言,JDBCTemplate 便于我们使用 JDBC 进行操作。
与JDBCTemplate 一样,当我们使用Hibernate 时,HibernateTemplate 使我们的操作变得简单。
您可以获取更多关于JDBCTemplate的信息here
【讨论】:
主要的事情,消除样板代码。在过去,当在无服务器环境中进行 JDBC 调用时,您总是需要 4-5 个步骤。加载驱动程序(Class.forName),获取连接,创建语句/准备语句,执行查询并获取 ResultSet,迭代结果集并获取结果,关闭您打开的所有句柄。尝试捕获 SQLExceptions 和您得到的其他检查异常。
这被抽象了很多,Spring 工具允许您使用配置管理其中的很多,简化和消除重复代码并消除很多 JDBC 错误。
【讨论】: