当前位置: 首页 > 知识库问答 >
问题:

为什么我的Spring Boot应用程序中jdbcTemplate的默认获取大小是-1?

岳正阳
2023-03-14

我正在运行Spring boot 1.4.3应用程序。我正在使用net.sourceforge.jtds.jdbc.Driver连接到SQL服务器数据库。

当我打印出jdbc模板和驱动程序的默认获取大小时,我得到不同的值。

jdbcTemplate fetch size is -1
jtds driverfetch size is 100

这就是我从jdbc模板中获取获取大小的方式

int jtdsFetchSize = template.getDataSource().getConnection().createStatement().getFetchSize();
int jdcTemplateFetchSize = template.getFetchSize();

几个问题

>

  • 为什么jdbcTemplate提取大小为-1,而文档显示默认值为零。

    在上面的例子中,当一个语句执行时,实际的获取大小是多少。我的< code>select语句出现OOM内存错误,我猜值< code>-1表示所有的提取大小。但是我找不到任何支持它的文档。

    坦斯克

  • 共有1个答案

    东郭宏朗
    2023-03-14

    我认为您应该使用setMaxRows,而不是setFetchSize。在我看来,fetchSize更多的是限制单个记录的大小,而maxRows则是限制总记录的大小。因此,也许下次您可以尝试使用setMaxRows

     类似资料:
    • 问题内容: 限制Java JVM上Permgen空间大小的目的是什么?为什么不总是将其设置为等于最大堆大小?Java为什么默认为这么少的64MB?他们是否正在试图通过这种方式迫使人们注意代码中的Permgen问题? 如果我的应用使用85MB的permgen,那么将其设置为96MB可能是安全的,但是如果它只是主堆的一部分,为什么还要设置得如此之小呢?允许JVM使用堆允许的PermGen效率不高吗?

    • 我想在应用程序运行时找到我的对象大小。我想用千分尺在Grafana中显示我的对象大小。 我的对象像人、学生、...... 我该怎么办? 对象大小像文件大小、对象体积

    • 通常,默认范围是请求范围。我曾尝试删除范围注释,并希望bean具有请求bean作用域行为(通过在前一页返回提交的值,我记得我过去曾尝试过,效果很好),但我没有得到与之相关的表达式语言。那么默认范围是什么,为什么不是相同的行为?!

    • 问题内容: CSS3定义了新的长度单位叫做。这使我们能够计算与根元素(html元素)相关的元素。 为了更轻松地进行计算,我们通常假设根元素为,因此CSS通常如下所示: 因此,每个元素高度与都相对于,例如 我找不到为什么我们假设可以乘以?我们如何才能相信每个浏览器都具有相同的基本值?是否有关于预定义的标准描述? 问题答案: 该基准由用户在浏览器中预定义的首选项确定。 在几乎所有浏览器中,16px是比

    • 问题内容: 我正在使用t和注释执行一些任务。 如何确定spring-boot中预设任务的默认池大小是多少? 原因:以下类不是并行执行作业,而是一个接一个地执行。也许默认情况下仅配置了一个线程执行程序? 结果:在第一个作业完成后执行第二个作业。 问题答案: 是的,默认情况下,所有方法共享一个线程。通过定义如下这样可以覆盖此行为: 本示例确保所有方法共享大小为100的线程池。

    • 我正在使用JAXP XSLT API(javax.xml.transform)来转换xml文件。 TransformerFactory的javadoc表示:它使用以下有序查找过程来确定要加载的TransformerFactory实现类: 使用javax。xml。使改变TransformerFactory系统属性 使用JRE目录中的属性文件“lib/jaxp.properties”。此配置文件采用标