jjzjj

JDBCTemplate

全部标签

java - Spring NamedParameterJDBCTemplate 重用Prepared Statements

我正在使用SpringNamedParameterJdbcTemplate从表中获取一些值。出于某种原因,与在SQLManagementStudio上运行相同的查询相比,查询在我的Java应用程序中运行得非常慢。我还在探查器中注意到,准备好的语句不会被重用。如果我在我的JAVA应用程序中多次运行相同的查询,我会看到正在执行不同的准备好的语句。所以,不确定为什么这些语句没有被重用。性能变慢是因为我在查询中使用了IN子句吗?这是我的示例java代码StringBuildervQuery=newStringBuilder();vQuery.append("SELECTSUM(Qty)FROM

java - Spring JdbcTemplate : how to limit selected rows?

我正在使用SpringJdbcTemplate接口(interface)从MSSqlServer数据库中获取数据。在文档中我看到有setMaxRows()方法可以为所有查询设置限制,但是如果我只想限制一个选择怎么办?有没有办法以“可配置”的方式仅为特定调用的查询设置限制? 最佳答案 一些基于SQL的查询语言(derby)不支持LIMIT关键字。所以你不能直接在查询中使用LIMIT。使用SpringJDBC模板,我们可以通过setMaxRows(Integerintvalue)设置所需的最大行数jdbcTemplate.setMaxR

java - 如何使用 jdbc 模板将值列表作为参数传递给 IN 子句

这个问题在这里已经有了答案:HowtoexecuteIN()SQLquerieswithSpring'sJDBCTemplateeffectively?(5个答案)关闭5年前。我想将汽车名称作为绑定(bind)变量传递(在运行时更改)如何实现。Java版本1.7privateJdbcTemplatejdbcTemplate;publicCollectionfindAll(){Stringsql="SELECTNAME,YEAR,TYPEFROMCARSwhereNAMEin('Honda','Audi','Benz')";ListcarsList=newArrayList();List

java - Spring jdbcTemplate单​​元测试

我是Spring的新手,只是对JUnit和Mockito有一些经验我有以下需要单元测试的方法publicstaticStringgetUserNames(finalStringuserName{Listresults=newLinkedList();results=service.getJdbcTemplate().query("SELECTUSERNAMEFROMUSERNAMESWHERENAME=?",newRowMapper(){@OverridepublicStringmapRow(ResultSetrs,introwNum)throwsSQLException{return

java - 多个一对多关系 ResultSetExtractor

假设我有一个具有两种不同的一对多关系的对象。很像:Customer1MBrands和Customer1MOrders假设我的对象Customer有两个与这两个对象相关的列表。我读过这个例子:http://forum.springsource.org/showthread.php?50617-rowmapper-with-one-to-many-query这解释了如何使用单个一对多关系来做到这一点。为了您的方便,这里是ResultSetExtractor覆盖:privateclassMyObjectExtractorimplementsResultSetExtractor{publicO

Java Spring - RowMapper ResultSet - 整数/空值

我有一个JavaSE8Spring4.1.6-RELEASE应用程序,我正在其中实现org.springframework.jdbc.core.RowMapper界面,我对java.sql.ResultSet有一些疑问在其TmapRow(ResultSetrs,introwNum)中传递的接口(interface)方法。当我检查ResultSet类,我看到了一堆方法来取回列值:╔══════════════╦═════════════════════╦════════════════════════════════════════════════════════════════════

java - RowMapper返回null时JdbcTemplate做了什么?

我正在使用JdbcTemplate.query(sql,args,rowMapper)方法调用来返回对象列表。在某些情况下,我想跳过一行而不是将其添加到我返回的列表中。在这些情况下,我想到了两种解决方案:让RowMapper返回null。让RowMapper抛出异常(我知道SQLExceptions已被处理,所以这是一种可能性)。我的问题是:当RowMapper.mapRow返回null时,JdbcTemplate是否将其添加到列表中?如果不是,我应该抛出SQLException吗? 最佳答案 这是将行添加到结果列表的代码片段pub

java - 如何将 jndi 查找从 xml 转换为 java 配置

目前我正在将xml转换为java配置。但是我停留在我已经研究了几天的某个部分。问题在这里:XML配置:到目前为止,我设法转换了这段代码:为此:@Bean(name="dbDataSource")publicJndiObjectFactoryBeandataSource(){JndiObjectFactoryBeanbean=newJndiObjectFactoryBean();bean.setJndiName("${db.jndi}");bean.setResourceRef(true);returnbean;}还有这个:为此:@Bean(name="jdbcTemplate")pub

java - QueryDSL SQL 与 JDBCTemplate 之间的性能测试

我试图说服“高层”使用querydslsql来维持我们的持久性。但他们更喜欢springjdbctemplate,原因是它提供了最好的原始性能。当然,性能是我们的首要要求。这就是为什么JPA根本不是一个选项。QueryDSLSQL的开销是否太大而无法从我们的选项中剔除?我想知道是否有任何“最近”的性能测试来展示querydslsql与jdbctemplate和jpa的性能。我遇到了this.我想知道与jdbctemplate和jpa实现相比,querydslsql的相对性能。 最佳答案 我做了一些性能测试来比较querydsl和jd

java - Spring JDBC : Returning 0 or 1 rows

我试图用谷歌搜索这个问题,但找不到:IsthererecommendedmethodinSpringjdbcTemplatewhichshouldbeusedwhenweexpect0or1rowstobereturned.当没有行返回时,queryForObject()将抛出异常。queryForList()将需要遍历列表,但这不是问题。但是很好奇是否有返回0或1行的首选/推荐方法。谢谢! 最佳答案 有DataAccessUtils.singleResult(jdbcTemplate.queryForList(...));我相信它