工具类释放资源的参数Statement类型在DAO层对应的是PreparedStatement类型

工具类释放资源的参数Statement类型在DAO层对应的是PreparedStatement类型

public static void release(ResultSet rs, Statement stmt, Connection conn) {
   try {
       if (rs != null) {
           rs.close();
       }
   } catch (SQLException e) {
       e.printStackTrace();
   } finally {
       try {
           if (stmt != null) {
               stmt.close();
           }
       } catch (SQLException e) {
           e.printStackTrace();
       } finally {
           try {
               if (conn != null) {
                   conn.close();
               }
           } catch (SQLException e) {
               e.printStackTrace();
           }
       }
   }
}



正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
好帮手慕阿莹 2018-12-10 15:28:42

我试了试没有报错呀:下图是用eclipse试的。

http://img1.sycdn.imooc.com//climg/5c0e122d00017a5e07380530.jpg

建议同学看看是否有未保存的代码呢?

或者同学可以再写一个这个方法,用重载的方法,第二个参数改成PreparedStatement 。

祝学习愉快!

提问者 qq_密制咸鱼王_0 2018-12-10 14:48:49
提问者 qq_密制咸鱼王_0 2018-12-10 14:46:27

public int countMessages() {
   Connection conn = ConnectionUtil.getConnection();
   String sql = "select count(*) total from message";
   PreparedStatement stmt = null;
   ResultSet rs = null;
   try {
       stmt = conn.prepareStatement(sql);
       rs = stmt.executeQuery();
       while (rs.next()) {
           return rs.getInt("total");
       }
   } catch (SQLException e) {
       e.printStackTrace();
   } finally {
       ConnectionUtil.release(rs, stmt, conn);
   }
   return 0;
}

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
Java数据库开发与实战应用2018版
  • 参与学习           人
  • 提交作业       277    份
  • 解答问题       4297    个

Java数据库开发的必备技能,从流行的MySQL数据库开始,到Java原生的数据库管理接口JDBC的使用,再到常用的数据持久化框架MyBatis,让你向Java工程师的目标又迈进了一步!

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师