2009年11月20日

          DDL,DML,DCL,TCL

          特此一記,省得忘。

          1.DDL (Data Definition Language )數據庫定義語言 statements are used to define the database structure or schema.
          DDL不需要commit.
          CREATE
          ALTER
          DROP
          TRUNCATE
          COMMENT
          RENAME

          2.DML (Data Manipulation Language)數據操縱語言 statements are used for managing data within schema objects.
          需要commit.
          SELECT
          INSERT
          UPDATE
          DELETE
          MERGE
          CALL
          EXPLAIN PLAN
          LOCK TABLE

          3.DCL(Data Control Language)數據庫控制語言  授權,角色控制等
          GRANT 授權
          REVOKE 取消授權

          4.TCL(Transaction Control Language)事務控制語言
          SAVEPOINT 設置保存點
          ROLLBACK  回滾
          SET TRANSACTION

          posted @ 2009-11-23 16:35 seanchang 閱讀(153) | 評論 (0)編輯 收藏

          Spring原理

          spring的最大作用ioc/di,將類與類的依賴關系寫在配置文件中,
          程序在運行時根據配置文件動態加載依賴的類,
          降低的類與類之間的藕合度。
          它的原理是在applicationContext.xml加入bean標簽,
          在bean標簽中通過class屬性說明具體類名,
          通過property標簽說明該類的屬性名,
          通過constructor-args說明構造子的參數。
          其一切都是返射,當通過applicationContext.getBean("id名稱")得到一個類實例時,
          就是以bean標簽的類名、屬性名、構造子的參數為準,
          通過反射實例對象,喚起對象的set方法設置屬性值,
          通過構造子的newInstance實例化得到對象。
          正因為spring一切都是反射,反射比直接調用的處理速度慢,
          所以這也是spring的一個問題。

          spring第二大作用就是aop,其機理來自于代理模式,
          代理模式有三個角色分別是通用接口、代理、真實對象代理、
          真實對象實現的是同一接口,將真實對象作為代理的一個屬性,
          向客戶端公開的是代理,當客戶端調用代理的方法時,
          代理找到真實對象,調用真實對象方法,
          在調用之前之后提供相關的服務,如事務、安全、日志。
          其名稱分別是代理、真實對象、裝備、關切點、連接點。


          主要是可擴展性。如果現在你的客戶覺得訪問效率太低,程序不用hibernate了,
          要使用jdbc,比如:UserDaoHibernateImpl(原來),現在修改為UserDaoJdbcImpl.
          這個時候你要怎么辦?直接去修改源代碼?你原來不用接口進行引用,肯定是new 了一個
          UserDaoHibernateImpl出來,如果多個地方都用到,你不但要去修改源代碼,還要修改很多地方,
          而是用spring的依賴注入呢,你只需要修改下配置,把bean的class屬性給修改下,換下配置什么的
          就可以了,降低后期維護成本

          因為web應用大了,servletClass多了,所以用到struts來減輕我們的負擔,使得模塊更清晰,和更利于復用和管理。
          因為web應用大了,表、字段多了,寫sql語句會寫死人,且比較容易出錯,所以用到hibernate來獲得它給我們的面向對象操作數據庫的服務,省去了寫n多sql的煩心事,且使我們的程序更加面向對象
          因為邏輯和組件模塊多了,因為層多了,于是我們考慮整一個spring,一來包裝hibernate,提供更簡便的服務接口及更易于管理的事務服務,二來代理了我們的服務層和dao層,使得這兩層與實際的控制單元的關系變成ioc框架來管理,任何一方的修改都不會牽扯到雙方都要修改的問題。總之spring就是把雜亂的dao、service、action給串了起來,變成了一個個可在程序外控制的模塊,使其可以自由的組合在一起,即可獲得想要的服務也不用煩他們之間的關系。

          CopyRight@BUG

          posted @ 2009-11-20 16:24 seanchang 閱讀(452) | 評論 (0)編輯 收藏

          <2009年11月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導航

          統計

          公告

          我的blog: http://blog.seanchang.me

          RSS: http://feed.feedsky.com/SeanChang

          常用鏈接

          留言簿

          隨筆檔案

          我的blog地址

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 德昌县| 繁峙县| 金坛市| 北安市| 澎湖县| 芦溪县| 普兰县| 阿尔山市| 东兰县| 元朗区| 澎湖县| 伊宁市| 福贡县| 六盘水市| 西畴县| 祁连县| 通江县| 和平县| 桦川县| 黄大仙区| 茂名市| 芜湖县| 铁岭县| 永登县| 文登市| 延寿县| 磴口县| 安岳县| 辽宁省| 德昌县| 民丰县| 陆河县| 麟游县| 宝山区| 漳浦县| 汝阳县| 南乐县| 新闻| 满洲里市| 万载县| 霍山县|