jdbc驱动程序api提供了指定了查询语句fetchsize的方法,有些数据库(比如oracle)本身提供了fetchsize的默认值,这样进行大量数据查询时,不会因为返回的结果集太大导致jvm爆掉,有些数据库可能没有默认设置fetchsize,因此需要手动指定。bboss持久层设置数据库查询fetchsize参数方法很简单,只要在poolman.xml文件的datasource中指定一个queryfetchsize参数即可,如果不指定就采用数据库驱动提供的默认值。
设置queryfetchsize的示例:
<datasource> <dbname>c3p0</dbname> <loadmetadata>false</loadmetadata> <enablejta>true</enablejta> <jndiName>c3p0_datasource_jndiname</jndiName> <datasourceFile>c3p0.xml</datasourceFile> <autoprimarykey>false</autoprimarykey> <showsql>false</showsql> <keygenerate>composite</keygenerate> <queryfetchsize>10000</queryfetchsize> </datasource>
queryfetchsize为0或小于0,或者不设置就采用数据库驱动提供的fetchsize默认值。
时间: 2024-10-24 08:28:23