<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Kela's Blog

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

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

    ?

    一個(gè)傳統(tǒng)DAO的例子。

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

    ?

    ???? 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接口,負(fù)責(zé)聲明對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

    ?

    具體的數(shù)據(jù)庫存取類,實(shí)現(xiàn)了IUserDAO接口。

    ?

    package com.kela.spring.jdbc;

    ?

    public class UserDAO implements IUserDAO {

    public void insert(User user) {

    ??? Connnection conn = null;

    ??? Statement stmt = null;

    ??? try {

    ??????? // 執(zhí)行數(shù)據(jù)庫插入操作

    ??? } catch (SQLException e) {

    ??? ??? //…

    ??? } finally{

    ??????? //…

    }

    }

    ??? public User find(Integer id) {

    ??????? // 查詢

    ??????? return user;

    }

    public void update(User user) {

    ??? //…

    }

    public void delete(User user) {

    ??? //…

    }

    }

    ?

    ???? Test.java

    ?

    在應(yīng)用程序中進(jìn)行數(shù)據(jù)存取時(shí),可以使用IUserDAO來聲明接口,進(jìn)行數(shù)據(jù)操作。

    … …

    User user = new User();

    user.setId(new Integer(2));

    user.setName(“kela”);

    user.setAge(new Integer(28));

    ?

    IUserDAO userDao = new UserDAO();

    userDao.insert(user);

    ?

    … …

    ???? 學(xué)習(xí)小結(jié)

    ?

    由于依賴于接口,所以可以隨時(shí)替換IUserDAO的實(shí)現(xiàn)類,在IUserDAO接口聲明的操作方法上并沒有任何于底層數(shù)據(jù)庫存取的技術(shù)細(xì)節(jié),SpringDAO框架這是基于這樣的原理,將應(yīng)用程序與底層存取技術(shù)隔離開來。

    ?

    分享到:
    主站蜘蛛池模板: 亚洲精品无码久久毛片波多野吉衣| 久久精品国产亚洲Aⅴ香蕉| 久久久久久亚洲Av无码精品专口| 国产99久久久久久免费看| 久久亚洲AV无码西西人体| 一级毛片a免费播放王色电影| 免费在线黄色网址| 国产成人亚洲毛片| 亚洲国产精品碰碰| 国产精品一区二区三区免费| 亚洲综合网站色欲色欲| 美女在线视频观看影院免费天天看 | 亚洲狠狠婷婷综合久久久久| 久青草视频97国内免费影视| 亚洲精品乱码久久久久久| 99视频在线免费看| 亚洲无mate20pro麻豆| 日韩中文无码有码免费视频| 偷自拍亚洲视频在线观看| 精品国产亚洲男女在线线电影 | 亚洲精品无码专区久久久| 少妇太爽了在线观看免费视频| 337p日本欧洲亚洲大胆色噜噜| 毛片在线免费视频| 国产亚洲人成在线影院| 亚洲欭美日韩颜射在线二| 无码一区二区三区免费| 亚洲精品国产日韩| 亚洲成av人片不卡无码久久| 可以免费观看的毛片| 亚洲欧洲国产视频| 午夜国产大片免费观看| 免费看男人j放进女人j免费看| 亚洲人成综合在线播放| 亚洲av无码专区在线观看素人| 国产成人精品免费久久久久| 亚洲熟伦熟女专区hd高清| 国产亚洲日韩一区二区三区| 91免费资源网站入口| eeuss影院免费直达入口| 亚洲精品自在线拍|