日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

刚刚,改造了下BaseDao……

發布時間:2023/12/3 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 刚刚,改造了下BaseDao…… 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天在上課的時候,帶著學生們寫底層的jdbc連接數據庫并且對數據表進行增刪改查,寫的那就一個痛苦啊……

從創建實體類到寫Dao層代碼再到表現層的Jsp頁面,????寫了好久好久……

終于寫完了!!!

其實吧,主要還是DaoImpl層的代碼寫的太多,代碼過于臃腫,反而BaseDao這個“工具類”卻寫的一點點。

于是,這不剛剛就把這個BaseDao改進了一下,將凡是公共可以共用的代碼都提到了BaseDao中,DaoImpl層光寫所需要實現的sql語句和對應的參數即可,剩下的任務由BaseDao去執行。

下面是BaseDao的代碼:

package org.dao;import java.sql.*; import java.util.List;import com.sun.org.glassfish.external.statistics.annotations.Reset;/*** * @author 24519* 連接數據庫的工作類**/ public?class?BaseDaoNew?{private?Connection conn = null;private?PreparedStatement pre;private?ResultSet rs;//連接數據庫public?Connection getConn(){try{//加載驅動Class.forName("com.mysql.jdbc.Driver");//數據庫連接字符串String url= "jdbc:mysql://localhost:3306/schooldb?user=root&password=root";//連接數據庫conn = DriverManager.getConnection(url);}catch(Exception ex){ex.printStackTrace();}return?conn;}//增刪改public?int?ExecuteUpdate(String sql,List params) throws SQLException{int?rel = 0;conn = getConn();pre = conn.prepareStatement(sql);if(params!=null){for(int?i = 0;i<params.size();i++){pre.setObject(i+1, params.get(i));}}rel = pre.executeUpdate();return?rel;}//查詢public?ResultSet ExecuteQuerty(String sql,List params) throws SQLException{conn = getConn();pre = conn.prepareStatement(sql);if(params!=null){for(int?i = 0;i<params.size();i++){pre.setObject(i+1, params.get(i));}}return?pre.executeQuery();}//關閉連接public?void?closeConn(Connection conn,PreparedStatement pre,ResultSet rs){try?{if(rs!=null){rs.close();}if(pre!=null){pre.close();}if(conn!=null){conn.close();}} catch?(SQLException e) {e.printStackTrace();}}}

可以看得出來,我們將連接數據庫,增刪改、查詢以及關閉連接都提取成獨立的方法,在Impl層直接調用對應的是方法即可。

@Overridepublic?Student login(String name, String pass,String info){Student student = new?Student();String sql = "select * from student where sname = ? and spass = ?";BaseDaoNew base1 = new?BaseDaoNew();List<Object> params?= new?ArrayList<Object>();params.add(name);params.add(pass);try?{rs = base1.ExecuteQuerty(sql, params);while(rs.next()){student.setSid(rs.getInt(1));student.setSname(rs.getString(2));student.setSphone(rs.getString(3));student.setSpass(rs.getString(4));student.setSaddress(rs.getString(5));student.setSage(rs.getInt(6));}} catch?(SQLException e) {e.printStackTrace();}finally{base1.closeConn(conn, pre, rs);}return?student;

分享幾個花拳繡腿的網頁布局!

2020-11-10

常用CSS屬性整理

2020-11-09

jsp的內置對象

2020-11-08

今天拍了一些照片!

2020-11-09

我的職校新生活

2020-11-07

今天,我們來抽個獎!!!!!

2020-11-06

今天 ,給大家變個魔術!!!

2020-11-05

點分享

點點贊

點在看

總結

以上是生活随笔為你收集整理的刚刚,改造了下BaseDao……的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。