Time of Update: 2018-12-07
一、手動載入 如: Hibernate.initialize(obj.getUser());//載入使用者物件二、使用OpenSessionInViewFilter 配置解決消極式載入
Time of Update: 2018-12-07
淺談Hibernate的四種種資料載入方式1、即時載入(Immediate Loading) 當實體載入完成後,立即載入與實體相關聯的資料。即當實體載入完成後,Hibernate自動立即讀取與實體相關聯的資料,並且填充到實體對應的屬性中。這種載入通常有多條select語句,即select實體資料後,同時select實體相關聯的資料。 2、消極式載入(Lazy Loading)
Time of Update: 2018-12-07
隨著Web應用的商業邏輯包含逐漸複雜的公式分析計算、決策支援等,使客戶機越 來越不堪重負,因此將系統的商業分離出來。單獨形成一部分,這樣三層結構產生了。 其中‘層’是邏輯上的劃分。 三層體繫結構是將整個系統劃分為2.1所示的結構[3] (1)表現層(Presentation layer):包含表示代碼、使用者互動GUI、資料驗證。 該層用於向用戶端使用者提供GUI互動,它允許使用者在顯示系統中輸入和編輯資料,同時 系統提供資料驗證功能。 (2)商務邏輯層(Business
Time of Update: 2018-12-07
前段時間在項目中曾經用Struts的攔截器實現登入驗證功能,AuthorizationInterceptor.java,現在分享下,哈 package com.interceptor;import com.opensymphony.xwork2.ActionInvocation;import com.opensymphony.xwork2.interceptor.*;import com.opensymphony.xwork2.*;import java.util.*;/** * @author
Time of Update: 2018-12-07
SQL Server的日期計算a. 一個月的第一天 SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) b. 本周的星期一 SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0) c. 一年的第一天 SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0) d. 季度的第一天 SELECT DATEADD(qq, DATEDIFF(qq,0,getdate()), 0) e.
Time of Update: 2018-12-07
談談我對abstract class和interface的理解 聲明方法的存在而不去實現它的類被叫做抽象類別(abstract class),它用於要建立一個體現某些基本行為的類,並為該類聲明方法,但不能在該類中實現該類的情況。不能建立abstract 類的執行個體。然而可以建立一個變數,其類型是一個抽象類別,並讓它指向具體子類的一個執行個體。不能有抽象建構函式或抽象靜態方法。Abstract
Time of Update: 2018-12-07
摘要: 1 加Salt散列 2 ASP.NET 2.0 Membership中與密碼散列有關的代碼 聲明:本文所羅列之原始碼均通過Reflector取自.NET Framework類庫,引用這些代碼僅出於學習和研究的目的。 其實,對密碼進行散列儲存不是一個新鮮話題了,解決起來也不是很難,但很多人還是不大瞭解。這個小文只是強調一下“加Salt散列”這個簡單的技術,並給出ASP.NET Membership所使用的代碼。
Time of Update: 2018-12-07
全面解釋StringBuilder、StringBuffer和String的關係 1. String 類 String的值是不可變的,這就導致每次對String的操作都會產生新的String對象,不僅效率低下,而且大量浪費有限的記憶體空間。 String a = "a"; //假設a指向地址0x0001 a = "b";//重新賦值後a指向地址0x0002,但0x0001地址中儲存的"a"依舊存在,但已經不再是a所指向的,a 已經指向了其它地址。
Time of Update: 2018-12-07
內串連:INNER JOIN或者JOIN,把兩個表中資料對應的資料查出來。 外串連:OUTER JOIN,以某個表為基礎把對應資料查出來,分為左外串連和右外串連。 左外串連:LEFT JOIN或者LEFT OUTER JOIN,以某個表為基礎把對應資料查出來。 右外串連:RIGHT JOIN或者RIGHT OUTER JOIN,以某個表為基礎把對應資料查出來。 全串連:FULL JOIN,以多個表為基礎 student表 NO Name 1 a 2 b 3 c 4 d
Time of Update: 2018-12-07
Log4j支援兩種設定檔格式,一種是XML格式的檔案,一種是Java特性檔案log4j.properties(鍵=值)。 log4j 是一個開放源碼項目,是廣泛使用的以Java編寫的日誌記錄包。由於log4j出色的表現,當時在log4j完成時,log4j開發組織曾建議sun在jdk1.4中用log4j取代jdk1.4
Time of Update: 2018-12-07
1. 沒有索引或者沒有用到索引 資料庫索引就像書籍中目錄一樣,使使用者在訪問資料庫資料時,不必遍曆所有資料就可以找到需要的資料。建立索引後,可以保證每行資料的唯一性,極大地提高資料檢索效率,這是一中犧牲空間換取效能的方法。沒有索引或者沒有用到索引是資料訪問速度慢最常見的因素,也是程式設計的一個缺陷所在。2. I/O輸送量小,形成了瓶頸效應 I/O輸送量是影響資料訪問速度的客觀因素(硬體因素)。在一定的硬體環境下,利用最佳化的部署方案可適當提高I/O輸送量。3.
Time of Update: 2018-12-07
所謂SQL注入式攻擊,就是攻擊者把SQL命令插入到Web表單的輸入欄位或頁面請求的查詢字串,欺騙伺服器執行惡意的SQL命令。在某些表單中,使用者輸入的內容直接用來構造(或者影響)動態SQL命令,或作為預存程序的輸入參數,這類表單特別容易受到SQL注入式攻擊。常見的SQL注入式攻擊過程類如: ⑴ 某個ASP.NET Web應用有一個登入頁面,這個登入頁面控制著使用者是否有權訪問應用,它要求使用者輸入一個名稱和密碼。 ⑵ 登入頁面中輸入的內容將直接用來構造動態SQL命令,或者直接用作預存程序的參數。
Time of Update: 2018-12-07
實體更新 Transaction trans=session.beginTransaction(); String hql=”update User user set user.age=20 where user.age=18”; Query queryupdate=session.createQuery(hql); int ret=queryupdate.executeUpdate(); trans.commit(); 實體刪除 Transaction
Time of Update: 2018-12-07
1. 建立Maven的普通java項目: mvn archetype:create -DgroupId=packageName -DartifactId=projectName 2. 建立Maven的Web項目: mvn archetype:create -DgroupId=packageName -DartifactId=webappName -DarchetypeArtifactId=maven-archetype-webapp
Time of Update: 2018-12-07
(1)JNDI:Java Naming & Directory Interface,JAVA命名目錄服務.主要提供的功能是:提供一個目錄系統,讓其它各地的應用程式在其上面留下自己的索引,從而滿足快速尋找和定位分布式應用程式的功能. (2)JMS:Java Message Service,JAVAMessage Service.主要實現各個應用程式之間的通訊.包括點對點和廣播. (3)JTA:Java Transaction
Time of Update: 2018-12-07
1. 資料抽象:物理抽象、概念抽象、視圖級抽象,內模式、模式、外模式 2. SQL語言套件括資料定義、資料操縱(Data Manipulation),資料控制(Data Control) 資料定義:Create Table,Alter Table,Drop Table, Craete/Drop Index等 資料操縱:Select ,insert,update,delete, 資料控制:grant,revoke 3. SQL常用命令: CREATE TABLE Student( ID
Time of Update: 2018-12-07
持續整合是一種軟體開發實踐,即團隊開發成員經常整合它們的工作,通常每個成員每天至少整合一次,也就意味著每天可能會發生多次整合。每次整合都通過自動化的構建(包括編譯,發布,自動化測試)來驗證,從而儘快地發現整合錯誤。許多團隊發現這個過程可以大大減少整合的問題,讓團隊能夠更快的開發內聚的軟體。 一些原則: 1. 所有的開發人員需要在本地機器上做本地構建,然後再提交的版本控制庫中,從而確保他們的變更不會導致持續整合失敗。 2. 開發人員每天至少向版本控制庫中提交一次代碼。 3.
Time of Update: 2018-12-07
暫存資料表 暫存資料表與永久表相似,但暫存資料表儲存在 tempdb 中,當不再使用時會自動刪除。 暫存資料表有兩種類型:本地和全域。它們在名稱、可見度以及可用性上有區別。本地暫存資料表的名稱以單個數字記號 (#) 打頭;它們僅對當前的使用者串連是可見的;當使用者從 SQL Server 執行個體中斷連線時被刪除。全域暫存資料表的名稱以兩個數字記號 (##) 打頭,建立後對任何使用者都是可見的,當所有引用該表的使用者從 SQL Server 中斷連線時被刪除。
Time of Update: 2018-12-07
Lucene是一個全文檢索搜尋架構,而不是應用產品,它可以方便的嵌入到各種應用中實現針對應用的全文索引/檢索功能。因此它並不像www.baidu.com 或者google Desktop那麼拿來就能用,它只是提供了一種工具讓你能實現這些產品。 Lucene是apache軟體基金會4
Time of Update: 2018-12-07
國際化(internationalization,i18n)和本地化(localization,l10n)指讓產品(出版物,軟體,硬體等)能夠適應非本地環境,特別是其他的語言和文化。程式在不修改內部代碼的情況下,能根據不同語言及地區顯示相應的介面。 國際化主要體現在:頁面、action的資訊、類型轉換資訊、校正資訊。 Struts2的國際化分為:頁面的國際化,Action的國際化、xml的國際化。