当前位置: 首页 > 面试题库 >

如何为iBatis select语句设置fetchSize

孙和安
2023-03-14
问题内容

我使用iBatis作为Java中的ORM框架。我有一条选择声明

<select id="getList" resultMap="correctMap">
    SELECT *
    FROM SOME_TABLE
</select>

我正在使用queryForList方法

List<MappedObject> list = getSqlMapClientTemplate().queryForList("getList");

但是它会检索大量数据,并且此查询的性能非常慢。

我对此问题的假设是iBatis具有默认的提取大小(例如,在JDBS中为10),这就是为什么它这么慢的原因。所以我想设置更大的获取大小(例如1000)。我该怎么做?

还是我看错了方向?

注意:我需要所有数据,因此在queryForListmethod中设置max results 是不合适的解决方案。

List queryForList(String id,
                  Object parameterObject,
                  int skip,
                  int max)

问题答案:
<select id="SELECT_TABLE" parameterType="String" fetchSize="500" resultType="hashmap">
    SELECT * FROM TABLE WHERE NAME = #{value}
</select>


 类似资料:
  • 问题内容: 我的问题是我必须在try语句中设置变量,否则会出现编译错误。 稍后我需要使用该变量,但现在超出了范围,所以我相信。我在try语句外部初始化了该变量并将其设置为null,我以为可以在外部访问它,但仍然得到了。 下面的代码,其中有很多代码使阅读变得更容易-我知道这是不好的代码,但是我是Servlets的新手,只想看看它与所有活动部件一起运行时应如何工作。 我创建了另一个类,该类调用crea

  • 问题内容: 在我的Web应用程序中,一些postgres sql查询需要一些时间才能执行。我只想为其中一部分设置语句超时。 查询的一部分必须通过超时取消,但是其他部分必须可以不受任何限制地工作。 在postgres中存在statement_timeout函数。 如何使用statement_timeout函数包装SqlAlchemy查询? 像这样: 对我来说,设置超时的最佳方法是这样的: SqlAl

  • 问题内容: 如何在执行Update语句时设置变量?我似乎无法弄清楚语法。 所以我想要下面这样的东西,但是它说语法是错误的: 问题答案: 这个有可能 :- 设置整数(不递增)

  • 问题内容: 我有一个名字列表,例如: 并声明: 如何执行以下操作: 有解决方法吗?有人可以解释为什么缺少这种方法吗? 使用:java,postgresql,jdbc3 问题答案: 没有干净的方法仅通过在我所知道的列表上设置列表来执行此操作。 编写代码,以适当数量的问号(与列表中的数字相同)构造​​SQL语句(或更好地替换单个?或类似的标记),然后遍历列表为每个参数设置参数。

  • 问题内容: 我的代码是: 但是scriptlib在其他目录中,因此我必须将该目录包含在环境变量“ PYTHONPATH”中。 无论如何,在执行导入语句之前,我首先可以在环境变量“ PYTHONPATH”中添加scriptlib目录,例如: 如果是这样,则仅是该命令提示符的值还是全局的? 提前致谢 问题答案: 这将为您的Python进程/实例(即正在运行的可执行文件)添加路径。该路径不会为任何其他P