嵌套语句中
pstmt = conn.prepareStatement(sql.toString());
这个Statement对象没有关闭(需要关闭),你调用的时候又创建了一个新的.
如果要循环调用,最好将这个pstmt对象作为参数传入
pstmt = conn.prepareStatement(sql.toString());后再
recursinLoad(conn,myLevel,FId,pstmt)
等到所有循环调用完后再关闭pstmt就行