其实API说的很清楚:
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for ResultSet objects genrated by this Statement. If the value specified is zero, then the hint is ignored. The default value is zero.
给JDBC驱动一个指导性参考意见,让JDBC每次从数据库端读取时,获取多少行数据比较合适。
接下来回答你这两个问题:
1。比如10条数据,setFetchSize大小设置为1,会执行十次数据库的访问吗?
——先假定你的意思是 Select top 10 ,并且程序会 while(next()) 全部都遍历一遍。
——那么:有可能(对,只是有可能,因为JDBC驱动可能会嫌你这个值太小了而取一个比该值大的数,具体要看不同JDBC驱动的实现)。但并不是10次数据库连接或10次查询,而是相当于发送十次next的指令给数据库端,然后取回1行数据集;