草庐IT

JDBCTemplate

全部标签

java - 如何使用 Spring 和 JDBCTemplate 取消长时间运行的查询?

JDBCjava.sql.Statement类有一个cancel()方法。这可以在另一个线程中调用以取消当前正在运行的语句。如何使用Spring实现这一点?我找不到在运行查询时获取对语句的引用的方法。我也找不到类似取消的方法。这里有一些示例代码。想象一下这需要长达10秒的时间来执行,有时根据用户的请求,我想取消它:finalinti=simpleJdbcTemplate.queryForInt("selectmax(gameid)fromgame");我将如何修改它以便引用java.sql.Statement对象? 最佳答案 让我简

java - 使用 JdbcTemplate 插入多行

如何使用JdbcTemplate以可扩展的方式执行以下SQL在mySQL上运行。在这种情况下,可扩展意味着:服务器上只执行一条SQL语句它适用于任意数量的行。声明如下:INSERTINTOmyTable(foo,bar)VALUES("asdf","asdf"),("qwer","qwer")假设我有一个带有foo和bar字段的POJO列表。我意识到我可以遍历列表并执行:jdbcTemplate.update("INSERTINTOmyTable(foo,bar)VALUES(?,?)",paramMap)但这并没有满足第一个标准。我相信我也可以执行:jdbcTemplate.batc

java - Spring 的 JdbcTemplate 和事务

使用JdbcTemplate时,需要显式配置事务吗?我的代码布局如下所示:我将有一个将被注入(inject)到我的UserService中的UserDao,然后我的Controller将调用我的UserService中的方法。我想让事务尽可能简单,并且我不需要多个数据库调用来跨越一个事务。默认情况下,我是否必须在我的配置文件中做任何事情或在任何地方使用@Transaction注释?现在说在我的Controller中我需要对我的userService和accountService进行2次调用,我可以以某种方式显式地将它包装在事务中吗?userService.updateUser(user

java - JdbcTemplate queryForList 在没有结果的情况下返回值

这个问题已经在标题中得到了很好的概括。当查询没有返回结果时,JdbcTemplate.queryForList()将返回什么。它会返回一个空List还是null值?我无法从文档中找到明确的答案。提前致谢! 最佳答案 javadoc声明它将返回aListofobjectsthatmatchthespecifiedelementtype如果没有元素,则列表为空。 关于java-JdbcTemplatequeryForList在没有结果的情况下返回值,我们在StackOverflow上找到一个

hibernate - 如何配置 Spring 使 JPA(Hibernate)和 JDBC(JdbcTemplate 或 MyBatis)共享同一个事务

我有一个数据源,我使用Spring3.0.3、Hibernate3.5.1作为JPA提供程序,我使用MyBatis3.0.2进行一些查询,我的应用程序在Tomcat6上运行。我有一个HibernateDAO和一个MyBatisDAO,当我从用@Transactional注释的相同方法调用两者,看起来它们不共享相同的事务,它们获得不同的连接。我怎样才能让他们这样做?我尝试从DataSourceUtils.getConnection(dataSource)获取连接,我得到了MyBatis使用的连接,这很奇怪,我认为问题出在MyBatis配置中,它不能使用JpaTransactionMana

java - 通过 JDBCTemplate 使用准备好的语句

我正在使用JDBC模板并希望使用准备好的语句从数据库中读取数据。我遍历.csv文件中的多行,并在每一行上执行一些带有相应值的SQL选择查询。我想加快从数据库中读取的速度,但我不知道如何让JDBC模板与准备好的语句一起工作。有PreparedStatementCreator和PreparedStatementSetter.如thisexample它们都是用匿名内部类创建的。但是在PreparedStatementSetter类中,我无法访问我想在准备好的语句中设置的值。由于我正在遍历.csv文件,因此我无法将它们硬编码为字符串,因为我不认识它们。我也无法将它们传递给PreparedSta

java - 如何使用 JDBCTemplate.queryForMap 获取 map 数据

如何从JDBCTemplate.queryForMap()加载数据并返回map接口(interface)。如何在map内部维护查询数据。我试图加载但我得到以下异常,即org.springframework.dao.IncorrectResultSizeDataAccessException:结果不正确代码:-publicListgetUserInfoByAlll(){Listprofilelist=newArrayList();Mapm=newHashMap();m=this.jdbctemplate.queryForMap("SELECTuserid,usernameFROMUSER

Spring JDBCTemplate VS Hibernate 在性能方面

已结束。此问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提出有关书籍、工具、软件库等方面的建议的问题。您可以编辑问题,以便用事实和引用来回答它。关闭4年前。Improvethisquestion在我们的项目中,我们必须在SpringJDBCTemplate和Hibernate之间做出选择。我想知道哪个在性能以及实现和设计方面更好。以及如何? 最佳答案 如果你尽你所能使这两种实现都非常快,那么JDBC模板可能会快一点,因为它没有Hibernate的开销。但它可能需要更多的时间和代码行来实现。Hi

java - Jdbctemplate 查询字符串 : EmptyResultDataAccessException: Incorrect result size: expected 1, 实际为 0

我正在使用Jdbctemplate从数据库中检索单个字符串值。这是我的方法。publicStringtest(){Stringcert=null;Stringsql="selectID_NMB_SRZfromcodb_owner.TR_LTM_SLS_RTNwhereid_str_rt='999'andID_NMB_SRZ='60230009999999'";cert=(String)jdbc.queryForObject(sql,String.class);returncert;}在我的情况下,我的查询完全有可能不会被点击,所以我的问题是如何绕过以下错误消息。EmptyResultD

java - 如何有效地使用 Spring 的 JDBCTemplate 执行 IN() SQL 查询?

我想知道是否有更优雅的方式来使用Spring的JDBCTemplate进行IN()查询。目前我正在做这样的事情:StringBuilderjobTypeInClauseBuilder=newStringBuilder();for(inti=0;i这很痛苦,因为如果我有九行只是用于构建IN()查询的子句。我想要类似准备好的语句的参数替换 最佳答案 你想要一个参数来源:Setids=...;MapSqlParameterSourceparameters=newMapSqlParameterSource();parameters.addV