1 MYSQL準(zhǔn)備
? ? ? ? 事先準(zhǔn)備好數(shù)據(jù)庫的內(nèi)容,并錄入一條數(shù)據(jù)。

? ? ? ? 由于hibernate可以自動生成表單,所以可以只建立數(shù)據(jù)庫,等之后再來錄入數(shù)據(jù)
2?SSH框架準(zhǔn)備
? ? ? ? 四層包結(jié)構(gòu),三個配置文件。尤其注意各個框架包的版本號,特別是hibernate與spring的版本對應(yīng),網(wǎng)上很多例子使用的版本過舊,多數(shù)方法和新版本已經(jīng)不匹配。

? ? ? ? 因為在之前的文章已經(jīng)進(jìn)行SSH的整合了,例如:entity類的生成,action、service、daoc層之間的調(diào)用過程以及配置,所以本文只提及不同的部分。
3 功能實現(xiàn)
action層 ? ?
? ? ? ? 登錄的實現(xiàn),是將表單提交的用戶和密碼與數(shù)據(jù)庫相應(yīng)用戶存儲的信息作比較,如果存在這一條目,則登錄成功。所以,我們在action里擬寫一個login方法,而這個方法需要去調(diào)用service層的login方法來得到數(shù)據(jù)庫里是否有這條目,數(shù)據(jù)為NULL則失敗,否則成功。

service層
????????service層獲取login的指令之后,就要去命令數(shù)據(jù)庫查詢是否有對應(yīng)的用戶與密碼,就要執(zhí)行DAO層的尋找用戶與密碼的方法。 ? ? ?

DAO層
? ? ? ? DAO層就要執(zhí)行SQL語句,去查詢數(shù)據(jù)庫,并返回結(jié)果。這里注意,Spring3.1以上已經(jīng)取消了HibernateDaoSupport這個類,因為Hibernate4以上的版本已經(jīng)優(yōu)化很好了。所以某一些方法就不適用了,但我們?nèi)匀豢梢允褂肏ibernate模板去管理session,但是需要配置。
? ? ? ? 首先,在Spring的配置文件中配置hibernateTemplate。

? ? ? ??并在配置hibernate屬性的條例中添加一條

? ? ? ? 最后,在DAO層使用hibernateTemplate.find方法查詢數(shù)據(jù)庫,返回結(jié)果集給List,在從List中進(jìn)行IF判斷既可。這樣就將結(jié)果返回給service層,service層也依舊把結(jié)果返回給Action層。

4 結(jié)果
? ? ? ? 界面登錄

? ? ? ?成功返回歡迎界面
