Questions tagged «spring-jdbc»

6
春季-@Transactional-后台会发生什么?
我想知道当您使用方法注释时实际发生了@Transactional什么?当然,我知道Spring将把该方法包装在Transaction中。 但是,我有以下疑问: 听说Spring创建了代理类?有人可以更深入地解释这一点。该代理类中实际包含什么?实际班级会怎样?我怎么能看到Spring创建的代理类 我还在Spring文档中读到: 注意:由于此机制基于代理,因此将仅拦截通过代理传入的“外部”方法调用。这意味着“自调用”,即目标对象内的一种调用目标对象其他方法的方法,即使被调用的方法标有@Transactional!,也不会在运行时导致实际事务。 来源:http : //static.springsource.org/spring/docs/2.0.x/reference/transaction.html 为什么只有外部方法调用属于事务处理而不是自调用方法?

5
Spring DAO与Spring ORM与Spring JDBC
我正在研究Spring支持的数据访问技术,我注意到它提到了多个选项,但我不确定它们之间的区别: Spring-DAO(http://docs.spring.io/spring/docs/2.0.8/reference/dao.html) Spring-ORM(http://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/orm.html) Spring-JDBC(http://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/jdbc.html) 据我了解,Spring JDBC提供了用于减少样板代码的模板,这些样板代码通过普通的旧方法(您编写自己的SQL查询)来访问数据库。 Spring-ORM提供了简化的模板,用于通过ORM技术(例如Hibernate,My(i)Batis等)访问数据库。 根据Spring网站的Spring-DAO: Spring对数据访问对象(DAO)的支持旨在使以一致的方式轻松使用JDBC,Hibernate或JDO等数据访问技术 我对ORM与JDBC比较了解,因为它们针对的是访问数据库的不同方式。但是Spring-DAO简直令人困惑! 谁能说明这三个之间到底有什么区别?在哪种情况下应首选哪个? 另外,还有另一个项目Spring-DATA(http://projects.spring.io/spring-data/)现在,它是Spring支持的所有数据访问技术的父项目,还是Spring的新名称? -老兄?

5
JPA与Spring JdbcTemplate [关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 10个月前关闭。 改善这个问题 对于新项目,JPA始终是推荐的用于处理关系数据的工具吗?或者在某些情况下,Spring JdbcTemplate是更好的选择?您的回应中应考虑以下因素: 新数据库架构与现有架构和表 开发人员专业知识水平 易于与数据缓存层集成 性能 还有其他需要考虑的因素吗?

4
用于调用存储过程的Spring JDBC模板
使用现代(大约在2012年)Spring JDBC模板调用存储过程的正确方法是什么? 说,我有一个同时声明IN和OUT参数的存储过程,如下所示: mypkg.doSomething( id OUT int, name IN String, date IN Date ) 我遇到过CallableStatementCreator基于方法,我们必须显式注册IN和OUT参数化。在JdbcTemplate课堂上考虑以下方法: public Map<String, Object> call(CallableStatementCreator csc, List<SqlParameter> declaredParameters) 当然,我知道我可以这样使用它: List<SqlParameter> declaredParameters = new ArrayList<SqlParameter>(); declaredParameters.add(new SqlOutParameter("id", Types.INTEGER)); declaredParameters.add(new SqlParameter("name", Types.VARCHAR)); declaredParameters.add(new SqlParameter("date", Types.DATE)); this.jdbcTemplate.call(new CallableStatementCreator() { @Override CallableStatement createCallableStatement(Connection con) throws SQLException { CallableStatement stmnt = …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.