是创建一个Statement,两次执行SQL语句得到2个ResultSet,
还是分别创建2个Statement分别执行SQL语句得到2个ResultSet呢?
另外,同一个Connection可以创建多个Statement吗?
------解决方案--------------------
1、你的两种做法都没有什么问题,只是记得释放就好了。
2、同一个connection当然可以创建多个statement
------解决方案--------------------
先回答第二个:同一个 Connection 可以创建多个 Statement。
再用 java api 回答第一个:
By default, only one ResultSet object per Statement object can be open at the same time. Therefore, if the reading of one ResultSet object is interleaved with the reading of another, each must have been generated by different Statement objects. All execution methods in the Statement interface implicitly close a statment's current ResultSet object if an open one exists.
http://docs.oracle.com/javase/7/docs/api/java/sql/Statement.html
------解决方案--------------------
用完后关掉。
------解决方案--------------------
是的,如果你执行了第二个 ResultSet,那么第一个就被关闭了。就是说,一个 Statement 只能同时打开一个 ResultSet。
在打开第二个之前,第一个是可用的,可以进行任何操作;
打开第二个之后,第一个就不可用了,只能用第二个操作。
------解决方案--------------------
那2个ResultSet要交替读取只能2个Statement了。
-------------------------------------------
+1
百度来百度去经常没个准
-----------------------
百度搜技术问题不靠谱,谷歌