摘要:   閱讀全文

          posted @ 2011-11-15 09:22 陳小東 閱讀(375) | 評論 (0)編輯 收藏

               摘要:   閱讀全文

          posted @ 2011-11-14 09:04 陳小東 閱讀(641) | 評論 (0)編輯 收藏

               摘要:   閱讀全文

          posted @ 2011-11-12 15:16 陳小東 閱讀(716) | 評論 (0)編輯 收藏

               摘要:   閱讀全文

          posted @ 2011-11-12 15:12 陳小東 閱讀(307) | 評論 (0)編輯 收藏

               摘要:   閱讀全文

          posted @ 2011-11-11 08:58 陳小東 閱讀(629) | 評論 (0)編輯 收藏

               摘要:   閱讀全文

          posted @ 2011-11-10 09:46 陳小東 閱讀(11370) | 評論 (8)編輯 收藏

               摘要:   閱讀全文

          posted @ 2011-11-09 09:24 陳小東 閱讀(371) | 評論 (0)編輯 收藏

          SQL分類:
          DDL—數據定義語言(CREATE,ALTER,DROP,DECLARE)
          DML—數據操縱語言(SELECT,DELETE,UPDATE,INSERT)
          DCL—數據控制語言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,簡要介紹基礎語句:
          1、說明:創建數據庫
          CREATE DATABASE database-name

          2、說明:刪除數據庫
          drop database dbname

          3、說明:備份sql server
          --- 創建 備份數據的 device
          USE master
          EXEC sp_addumpdevice 'disk', 'testBack', 'c:mssql7backupMyNwind_1.dat'
          --- 開始 備份
          BACKUP DATABASE pubs TO testBack

          4、說明:創建新表
          create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)根據已有的表創建新表:
          A:create table tab_new like tab_old (使用舊表創建新表)
          B:create table tab_new as select col1,col2… from tab_old definition only

          5、說明:刪除新表drop table tabname

          6、說明:增加一個列

          Alter table tabname add column col type注:列增加后將不能刪除。DB2中列加上后數據類型也不能改變,唯一能改變的是增加varchar類型的長度。

          7、說明:添加主鍵: Alter table tabname add primary key(col) 說明:刪除主鍵: Alter table tabname drop primary key(col)

          8、說明:創建索引:create [unique] index idxname on tabname(col….) 刪除索引:drop index idxname注:索引是不可更改的,想更改必須刪除重新建。

          9、說明:創建視圖:create view viewname as select statement 刪除視圖:drop view viewname

          10、說明:幾個簡單的基本的sql語句選擇:select * from table1 where 范圍插入:insert into table1(field1,field2) s(1,2)刪除:delete from table1 where 范圍更新:update table1 set field1=1 where 范圍查找:select * from table1 where field1 like ’%1%’ ---like的語法很精妙,查資料!排序:select * from table1 order by field1,field2 [desc]總數:select count * as totalcount from table1求和:select sum(field1) as sum from table1平均:select avg(field1) as avg from table1最大:select max(field1) as max from table1最小:select min(field1) as min from table1

          11、說明:幾個高級查詢運算詞
          A: UNION 運算符
          UNION 運算符通過組合其他兩個結果表(例如 TABLE1 和 TABLE2)并消去表中任何重復行而派生出一個結果表。當 ALL 隨 UNION 一起使用時(即 UNION ALL),不消除重復行。兩種情況下,派生表的每一行不是來自 TABLE1 就是來自 TABLE2。
          B: EXCEPT 運算符
          EXCEPT 運算符通過包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重復行而派生出一個結果表。當 ALL 隨 EXCEPT 一起使用時 (EXCEPT ALL),不消除重復行。
          C: INTERSECT 運算符
          INTERSECT 運算符通過只包括 TABLE1 和 TABLE2 中都有的行并消除所有重復行而派生出一個結果表。當 ALL 隨 INTERSECT 一起使用時 (INTERSECT ALL),不消除重復行。 注:使用運算詞的幾個查詢結果行必須是一致的。

          12、說明:使用外連接
          A、left outer join: 左外連接(左連接):結果集幾包括連接表的匹配行,也包括左連接表的所有行。
          SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c
          B:right outer join: 右外連接(右連接):結果集既包括連接表的匹配連接行,也包括右連接表的所有行。
          C:full outer join: 全外連接:不僅包括符號連接表的匹配行,還包括兩個連接表中的所有記錄。

          posted @ 2011-11-09 09:19 陳小東 閱讀(3134) | 評論 (4)編輯 收藏

          一、手動加載 如:
          Hibernate.initialize(obj.getUser());//加載用戶對象 



          二、使用OpenSessionInViewFilter 配置解決延遲加載 如:
          <!--OpenSessionInViewFilter 解決延遲加載問題 --> 
          <filter> 
          <filter-name>OpenSessionInViewFilter</filter-name> 
          <filter-class> org.springframework.orm.hibernate3.support.OpenSessionInViewFilter                </filter-class> 
          <!-- singleSession默認為true,若設為false則等于沒用OpenSessionInView --> 
          <init-param> 
          <param-name>singleSession</param-name> 
          <param-value>true</param-value> 
          </init-param> 
          </filter> 
          <filter-mapping> 
          <filter-name>OpenSessionInViewFilter</filter-name> 
          <url-pattern>/*</url-pattern> 
          </filter-mapping> 

          posted @ 2011-11-08 10:04 陳小東 閱讀(210) | 評論 (0)編輯 收藏

          隨著Web應用的商業邏輯包含逐漸復雜的公式分析計算、決策支持等,使客戶機越
          來越不堪重負,因此將系統的商業分離出來。單獨形成一部分,這樣三層結構產生了。
          其中‘層’是邏輯上的劃分。
          三層體系結構是將整個系統劃分為如圖2.1所示的結構[3]


          (1)表現層(Presentation layer):包含表示代碼、用戶交互GUI、數據驗證。
          該層用于向客戶端用戶提供GUI交互,它允許用戶在顯示系統中輸入和編輯數據,同時
          系統提供數據驗證功能。
          (2)業務邏輯層(Business layer):包含業務規則處理代碼,即程序中與業務
          相關專業算法、業務政策等等。該層用于執行業務流程和制訂數據的業務規則。業務邏
          輯層主要面向業務應用,為表示層提供業務服務。
          (3)數據持久層(Persistence layer):包含數據處理代碼和數據存儲代碼。數
          據持久層主要包括數據存取服務,負責與數據庫管理系統(如數據庫)之間的通信。
          三個層次的每一層在處理程序上有各自明確的任務,在功能實現上有清晰的區分,
          各層與其余層分離,但各層之間存有通信接口。
          采用三層軟件設計架構后,軟件系統在可擴展性和可復用性方面得到極大提高,在
          資源分配策略設計合理運用的同時,軟件的性能指標也得到提升,系統的安全性和易管東北
          理性也得到改善。
          三層體系結構對Web應用的軟件架構產生很大影響,促進了基于組件的設計思想,
          產生了許多開發Web層次框架的實現技術。較之兩級結構來說,三層結構修改和維護上
          更加方便。目前開發B/S結構的Web應用系統廣泛采用這種三層體系結構。


          設計模式起源:
          1994 年,由 Erich Gamma,Richard Helm,Ralph Johnson 和 John Vlissides(即所謂的“四人幫’,GoF:Gang of Four)合作的以《設計模式:可復用的面向對象軟件的基本原理》為題目的書藉出版了。這本書解釋了模式的用處,同時也使得設計模式得到廣泛普及。在書中,他們四人記錄了他們長期工作中發現的經典 23 個設計模式。
          IoC模式
          IoC 模式是 Apach Avalon 項目創始人之一 Stefano Mazzocchi 提出的一種代碼調用模式,后被 MartinFowlcr 改名為 Dependency Injection(依賴注入),也就是將類和類,方法和方法之間的關系通過第三方(如配置文件)進行“注入”,不需要類或者方法自己去解決彼此間的調用關系。 IoC(Inversion of Control, 控制反轉), 是一種用來解決組件(也可以是簡單的 Java類)之間依賴關系、配置及生命周期的設計模式,它可以解決模塊間的耦合問題。IoC模式它是把組件之間的依賴關系提取(反轉)出來,由容器來具體配置。這樣,各個組件之間就不存在代碼關聯,解決了調用方與被調用方之間的關系問題,任何組件都可以最大程度的得到重用。

          IoC 模式實現的技術途徑
          表 2.1 列舉出了 IoC 的三種實現方式。本文中設計并實現的服務器端數據驗證組件就是采用了第一種類型的 IoC 實現方式。


          MVC模式 :
          MVC 是 Model-View-Control 的簡稱,即模型-視圖-控制器。它是一個存在于服務器
          表達層的模型,它將應用分開,改變應用之間的高度耦合。
          MVC 是在 20 世紀 80 年代發明的一種軟件設計模式,至今已被廣泛使用,最近幾年
          被推薦為 Sun 公司 J2EE 平臺的設計模式。

          MVC 模式結構
          MVC 模式將應用分為模型、視圖和控制器三個部分:
          1. 視圖:數據的展現。
          視圖是用戶看到并與之交互的界面。視圖向用戶顯示相關的數據,并能接收用戶的輸入數據,但是它并不進行任何實際的業務處理。視圖可以向模型查詢業務狀態,但不能改變模型。視圖還能接受模型發出的數據更新事件,從而對用戶界面進行同步更新。
          2. 模型:應用對象。
          模型是應用程序的主體部分。 模型代表了業務數據和業務邏輯; 當數據發生改變時,它要負責通知視圖部分;一個模型能為多個視圖提供數據。由于同一個模型可以被多個視圖重用,所以提高了應用的可重用性。
          3. 控制器:邏輯處理、控制實體數據在視圖上展示、調用模型處理業務請求。
          當 Web 用戶單擊 Web 頁面中的提交按鈕來發送 HTML 表單時,控制器接收請求并調用相應的模型組件去處理請求,然后調用相應的視圖來顯示模型返回的數據。

          MVC 模式運行機制
           
          如圖 2.2 所示為 MVC 模式運行機制:

          在 MVC 模式中,Web 用戶向服務器提交的所有請求都由控制器接管。接受到請求之后,控制器負責決定應該調用哪個模型來進行處理;然后模型根據用戶請求進行相應的業務邏輯處理,并返回數據;最后控制器調用相應的視圖來格式化模型返回的數據,并通過視圖呈現給用戶。

          框架
          軟件開發越來越倚重框架的使用。框架可以縮短應用軟件系統的開發周期,提高軟件生產效率和質量。大大簡化了開發。選擇何種框架、每個框架如何應用在在系統架構中是軟件架構設計的重要環節。
          框架的定義
          在設計模式中,Gamma 等人為框架給出了一個明確定義:“框架(Framework)是一組協同工作的類,它們為特定類型的軟件構筑了一個可重用的設計”。
          框架是一組為相互協作的構件(Component)的集合,它能夠處理一個或多個問題域(Domain)中的一系列問題。框架強調的是軟件設計的重用性和系統的可擴充性。它是為了追求重用所帶來的價值量最大化,而將被重用最多的部分封裝成各個組件,輔以回調機制將它們納入框架的控制范圍之內。所以,框架提供了可在應用程序之間共享的可復用的公共結構。

          框架的特性
          框架包含以下幾個關鍵特性:
          1.在應用方面,框架是整個或部分系統的可重用設計,表現為一組抽象構件及構件實例間交互的方法;在目標方面,框架是可被應用開發者定制的應用骨架。
          2.框架是一種軟件,是應用程序的半成品。它可以供系統開發者選用,以完成系統的開發。
          3.框架解決的是某個特定范圍即領域的問題。每個框架都有自己的目標領域,它并不能滿足所有人的所有需求。

          posted @ 2011-11-08 09:52 陳小東 閱讀(1406) | 評論 (0)編輯 收藏

          僅列出標題
          共4頁: 上一頁 1 2 3 4 下一頁 

          posts - 34, comments - 38, trackbacks - 0, articles - 0

          Copyright © 陳小東

          主站蜘蛛池模板: 仙游县| 牙克石市| 喀喇| 镶黄旗| 阿巴嘎旗| 财经| 尉犁县| 修水县| 波密县| 武宁县| 藁城市| 江西省| 老河口市| 化州市| 北海市| 石棉县| 天峨县| 新密市| 花垣县| 宜兴市| 繁昌县| 芜湖县| 轮台县| 南雄市| 馆陶县| 宜宾县| 遂昌县| 岑巩县| 沛县| 紫金县| 山西省| 安西县| 当雄县| 丹东市| 泰安市| 广宁县| 象山县| 宁都县| 海丰县| 天等县| 三门峡市|