问答题 getString()方法与getObject()方法有什么区别
【正确答案】
【答案解析】JDBC提供了getString()、getInt()和getData()等方法从ResultSet中获取数据,当查询结果集中的数据量较小时,不用考虑性能,使用这些方法完全能够满足需求,但是当查询结果集中的数据量非常大时,则会抛出异常:OracleException未处理:ORA-01000:maximum open cursors exceeded(以访问Oraele数据库为例)。而通常情况下,使用getObject()方法就可以解决这个问题。
getString()或getInt()等方法在被调用时,程序会一次性地把数据都放到内存中,然后通过调用ResultSet的next()和getString()等方法来获取数据。当数据量大到内存中放不下时就会抛出异常,而使用getObject()方法就不会这种问题,因为数据不会一次性被读到内存中,每次调用时会直接从数据库中去获取数据,因此使用这种方法不会因为数据量过大而出错。