Kela's Blog

                      前面的路很坎坷,但畢竟是條路.也許走過這一段就會發現,走過去就是夢想中的地方.因此堅持成為此刻唯一能做且必須去做的事情.
          posts - 9, comments - 27, trackbacks - 0, articles - 15

          kela的筆記 應用程序框架 ---- spring(8)

          Posted on 2006-11-09 09:30 Kela 閱讀(178) 評論(0)  編輯  收藏 所屬分類: 我的筆記(Spring)

          摘要:SpringJDBC支持,Spring提供了DAO框架,提供了對數據庫存取時異常的封裝,提供的JdbcTemplate類大大簡化了JDBCAPI上的操作等。

          ?

          一個傳統DAO的例子。

          如,現在有一個數據庫表user,該表有idnameage三個字段。對該表抽象得出User對象,在進行數據庫操作時(findinsertupdatedelete)應用程序不應依賴于一個實際的類實現,而是可以讓它依賴一個接口,在應用程序中通過對接口的聲明來操作。

          ?

          ???? User.java

          ?

          這是User對象

          ?

          package com.kela.spring.jdbc;

          ?

          public class User {

          ???

          ??? private Integer id;

          ??? private String name;

          ??? private Integer age;

          ???

          ??? public Integer getAge() {

          ??????? return age;

          ??? }

          ??? public void setAge(Integer age) {

          ??????? this.age = age;

          ??? }

          ??? public Integer getId() {

          ??????? return id;

          ??? }

          ??? public void setId(Integer id) {

          ??????? this.id = id;

          ??? }

          ??? public String getName() {

          ??????? return name;

          ??? }

          ??? public void setName(String name) {

          ??????? this.name = name;

          ??? }

          ???

          }

          ???? IUserDAO.java

          ?

          這是IUserDAO接口,負責聲明對User對象的操作。

          ?

          package com.kela.spring.jdbc;

          ?

          public interface IUserDAO {

          ???

          ??? public void insert(User user);

          ??? public User find(Integer id);

          public void update(User user);

          public void delete(User user);

          }

          ?

          ???? UserDAO.java

          ?

          具體的數據庫存取類,實現了IUserDAO接口。

          ?

          package com.kela.spring.jdbc;

          ?

          public class UserDAO implements IUserDAO {

          public void insert(User user) {

          ??? Connnection conn = null;

          ??? Statement stmt = null;

          ??? try {

          ??????? // 執行數據庫插入操作

          ??? } catch (SQLException e) {

          ??? ??? //…

          ??? } finally{

          ??????? //…

          }

          }

          ??? public User find(Integer id) {

          ??????? // 查詢

          ??????? return user;

          }

          public void update(User user) {

          ??? //…

          }

          public void delete(User user) {

          ??? //…

          }

          }

          ?

          ???? Test.java

          ?

          在應用程序中進行數據存取時,可以使用IUserDAO來聲明接口,進行數據操作。

          … …

          User user = new User();

          user.setId(new Integer(2));

          user.setName(“kela”);

          user.setAge(new Integer(28));

          ?

          IUserDAO userDao = new UserDAO();

          userDao.insert(user);

          ?

          … …

          ???? 學習小結

          ?

          由于依賴于接口,所以可以隨時替換IUserDAO的實現類,在IUserDAO接口聲明的操作方法上并沒有任何于底層數據庫存取的技術細節,SpringDAO框架這是基于這樣的原理,將應用程序與底層存取技術隔離開來。

          ?

          分享到:
          主站蜘蛛池模板: 化德县| 上饶市| 垦利县| 长乐市| 阜阳市| 金川县| 奉化市| 孝感市| 崇义县| 开化县| 眉山市| 万州区| 库尔勒市| 河东区| 长治县| 清徐县| 外汇| 兴海县| 江川县| 临沧市| 兖州市| 五台县| 平罗县| 皮山县| 道孚县| 灵丘县| 光山县| 新绛县| 介休市| 三门县| 隆昌县| 正定县| 全南县| 安顺市| 舒兰市| 南靖县| 江西省| 肇东市| 三亚市| 永胜县| 阳江市|