兩畝三分地

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            17 隨筆 :: 20 文章 :: 2 評論 :: 0 Trackbacks
          我們都知道一個數據系統的核心就是JDBC的編程,對數據進行操作,主要包括添加,刪除,更新以及查詢。
          在對數據進行操作之前首先要做的是:
             
              1.加載jdbc驅動程序;
              2.建立到指定數據庫的連接(連接池/數據源);
              3.提交數據庫操作命令;
              4.取得結果。

          下面看一下BlogServlet中關于add方法中的 code5-1
           1
           1 private void add(HttpServletRequest request, HttpServletResponse response)
           2             throws ServletException, IOException{
           3         response.setContentType("text/html;charset=UTF-8");
           4         request.setCharacterEncoding("UTF-8");
           5 
           6         String title = request.getParameter("title");
           7         String content = request.getParameter("content");
           8         String categoryId = request.getParameter("category");
           9 
          10         String sql =  "insert into blog(title,content,category_id,date) values(?,?,?,now())";
          11         String params[] = {title,content,categoryId};
          12         QueryRunner qr = DbHelper.getQueryRunner();
          13         int result = 0;
          14 
          15         try {
          16           result = qr.update(sql, params);
          17         } catch (SQLException ex) {
          18             Logger.getLogger(BlogServlet.class.getName()).log(Level.SEVERE, null, ex);
          19         }
          20     }

          在后面的文章中我們會提到apache提供的commons-dbutils-1.2jar有點小問題,這個我們以后還會提到。

          由于每次對jdbc編程少不了建立數據源,獲取數據源,建立連接的工作,所以這里再提供一個輔助類DbHelper來完成以上工作。
          DbHelper.java (code 5-2)
           1 package com.blog.utils;
           2 
           3 import java.util.logging.Level;
           4 import java.util.logging.Logger;
           5 import javax.naming.Context;
           6 import javax.naming.InitialContext;
           7 import javax.naming.NamingException;
           8 import javax.sql.DataSource;
           9 import org.apache.commons.dbutils.QueryRunner;
          10 
          11 /**
          12  *
          13  * @author Chucky
          14  */
          15 public class DbHelper {
          16 
          17     public static QueryRunner getQueryRunner() {
          18         DataSource ds = null;
          19         Context context = null;
          20         try {
          21             context = new InitialContext();
          22             ds = (DataSource) context.lookup("jdbc/Blog");
          23         } catch (NamingException ex) {
          24             Logger.getLogger(DbHelper.class.getName()).log(Level.SEVERE, null, ex);
          25         }
          26         QueryRunner qr = new QueryRunner(ds);
          27         return qr;
          28     }
          29 }

          現在通過DbUtils庫和DbHelper輔助類的使用,原先code 5-1可以簡化成
           1 private void add(HttpServletRequest request, HttpServletResponse response)
           2             throws ServletException, IOException{
           3         response.setContentType("text/html;charset=UTF-8");
           4         request.setCharacterEncoding("UTF-8");
           5 
           6         String title = request.getParameter("title");
           7         String content = request.getParameter("content");
           8         String categoryId = request.getParameter("category");
           9 
          10         String sql =  "insert into blog(title,content,category_id,date) values(?,?,?,now())";
          11         String params[] = {title,content,categoryId};
          12         QueryRunner qr = DbHelper.getQueryRunner();
          13         int result = 0;
          14 
          15         try {
          16           result = qr.update(sql, params);
          17         } catch (SQLException ex) {
          18             Logger.getLogger(BlogServlet.class.getName()).log(Level.SEVERE, null, ex);
          19         }
          20     }
          QueryRunner類是DbUtils的核心類,只要通過query()方法對數據查詢或update()對數據刪除delete/添加insert/更新update;
          在后面的文章中,會詳細解釋。

          posted on 2009-09-28 16:24 Chucky 閱讀(516) 評論(2)  編輯  收藏

          評論

          # re: Blog系統開發 5. JDBC的基本操作與DbUtils的使用 2009-12-22 03:20 冰城浪子
          學習的是v512的博客項目,和你的代碼一樣 就是在這出現錯誤, QueryRunner qr = DbHelper.getQueryRunner();
          我在MyEclipse下開發的,總是有問題
          在Netbeans下使用時 沒有一點的錯誤,請指教一下 ,謝謝了
          調了半天也沒有弄好,急!!!!!!!!!  回復  更多評論
            

          # re: Blog系統開發 5. JDBC的基本操作與DbUtils的使用 2009-12-22 17:28 Chucky
          出現什么錯誤呢? 報錯的信息是什么呢?
            回復  更多評論
            


          只有注冊用戶登錄后才能發表評論。


          網站導航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          主站蜘蛛池模板: 当雄县| 井研县| 红河县| 南投市| 盐亭县| 石屏县| 临朐县| 赞皇县| 芦溪县| 博爱县| 兴义市| 海阳市| 靖江市| 砚山县| 河北区| 通榆县| 阿尔山市| 普格县| 五寨县| 塘沽区| 宁陕县| 平武县| 尉氏县| 辉南县| 肥乡县| 汽车| 晴隆县| 玉环县| 张家口市| 酒泉市| 枣庄市| 鸡泽县| 莆田市| 陵水| 泸溪县| 绥德县| 泰安市| 孟连| 浙江省| 宝丰县| 博白县|