请教ibatis怎么释放数据库连接?(急)

请问ibatis如何释放数据库连接?(急,在线等)
我的项目是ibatis+struts2+mysql4,web容器是resin,操作系统是linux,我用ibatis作为持久层,ibatis配置了SIMPLE的连接池,每次访问应用,都产生很多数据库连接,访问10几次之后,在mysql中用show proccesslist看,连接数超过500以上,有时候是700以上,状态都为sleep,而且如果不重启resin,这个连接数都会一直上升,我的问题是:
1、平时mysql的连接数上了500都会挂掉,但现在即使到了900也没问题,请问这个是为什么呢?
2、这种情况是ibatis没有释放数据库连接吗?
3、ibatis的手册没有提到要主动回收连接,好像sqlmap也没有close之类的方法,我如何能释放数据库连接呢?
4、我的ibatis的连接代码是这样的
  Reader reader = Resources.getResourceAsReader("SqlMapConfig.xml");
  SqlMapClient sqlMapper = SqlMapClientBuilder.buildSqlMapClient(reader);
  reader.close();
  然后就用sqlMapper.queryForList()这样来获取数据的,请问这样有问题吗?还需要什么代码来释放数据库连接呢?
本人是初次用ibatis的,望各位多多指教!比较急,在线等!

------解决方案--------------------
我的是这样的:
Java code
try {
         Connection con = dataSourse.getConnection();
           MappedStatement stmt = sqlMap.getMappedStatement("sql");
           stmt.executeUpdate(con,param);
}  finally [
 try {
 con.close();  // 关闭
   }catch(SQLException e){
       something;
 }
}

------解决方案--------------------
1、平时mysql的连接数上了500都会挂掉,但现在即使到了900也没问题,请问这个是为什么呢?
mysql的sleep状态是等待连接的,mysql可以设定连接等待时间,如果超时的话sleep就关闭
2、这种情况是ibatis没有释放数据库连接吗?
ibatis会自动释放连接的
3、ibatis的手册没有提到要主动回收连接,好像sqlmap也没有close之类的方法,我如何能释放数据库连接呢?
4、我的ibatis的连接代码是这样的
Reader reader = Resources.getResourceAsReader("SqlMapConfig.xml");
SqlMapClient sqlMapper = SqlMapClientBuilder.buildSqlMapClient(reader);
reader.close();
然后就用sqlMapper.queryForList()这样来获取数据的,请问这样有问题吗?还需要什么代码来释放数据库连接呢?
ibatis在进行事务处理时,当执行commitTransaction()或rollbackTransaction()的时候连接会关闭
另外如果不进行显示事务调用的话,连接也是自动关闭的
------解决方案--------------------
ibatis会自动释放连接的。。

其实LZ可以不用这样连的。