使用Spring 的MVC+Hibernate的數(shù)據(jù)庫操作例子(轉(zhuǎn))
網(wǎng)上講Spring的資料很多,大部分實(shí)例都是針對(duì)Spring的某一部分做出的例子,如IoC,Aop,MVC,數(shù)據(jù)持久層等等,沒有一個(gè)完整的例子。
這兩天根據(jù)夏昕的Spring開發(fā)指南,在加上自己參考其他資料,做出了一個(gè)利用Spring的MVC,加上Hibernate的網(wǎng)站的實(shí)例,包括Jsp界面表單的提交,Spring的 MVC控制,使用Spring提供的HibernateTemplate進(jìn)行數(shù)據(jù)持久的完整例子.
下面把程序的詳細(xì)代碼貼出來,由于自己也是初學(xué),有不對(duì)的地方,還請(qǐng)過路的大俠指點(diǎn)一二。
一、需求:表單填寫用戶ID,用戶名和地址,寫入數(shù)據(jù)庫
二、具體實(shí)現(xiàn)。。。。 代碼見詳細(xì)內(nèi)容
網(wǎng)上講Spring的資料很多,大部分實(shí)例都是針對(duì)Spring的某一部分做出的例子,如Ioc,Aop,MVC,數(shù)據(jù)持久層等等,沒有一個(gè)完整的例子。
這兩天根據(jù)夏昕的Spring開發(fā)指南,在加上自己參考其他資料,做出了一個(gè)利用Spring的MVC,加上Hibernate的網(wǎng)站的實(shí)例,包括Jsp界面表單的提交,Spring的 MVC控制,使用Spring提供的HibernateTemplate進(jìn)行數(shù)據(jù)持久的完整例子.
下面把程序的詳細(xì)代碼貼出來,自己也是初學(xué),有不對(duì)的地方,還請(qǐng)過路的大俠指點(diǎn)一二。
一、需求:表單填寫用戶ID,用戶名和地址,寫入數(shù)據(jù)庫
二、具體實(shí)現(xiàn)
1.UserInfoAdd.jsp
填寫表單界面,輸入ID,Name,Address后提交到UserInfoAddAction.do
UserID:Name: Address: |
2.UserInfoVO
表單的映射。 Value Object類,用來獲取表單提交的數(shù)據(jù)
package com.kacakong.spring.vo; public class UserInfoVO { public void setAddress(String address) { public String getName() { public void setName(String name) { public String getNid() { public void setNid(String nid) { } |
3.UserInfoAddAction
Control類,根據(jù)Spring的配置文件,調(diào)用合適的接口,執(zhí)行業(yè)務(wù)操作,控制頁面轉(zhuǎn)向。如果添加數(shù)據(jù)成功,就重定向到成功頁面,如果失敗,就裝到操作失敗頁面。具體調(diào)用的操作類,是根據(jù)Spring的配置文件來找的。使用的是接口操作,而不是實(shí)現(xiàn)類的操作。
package com.kacakong.spring.action; import org.springframework.validation.BindException; import com.kacakong.hibernate.dao.UserInfoDAO; public class UserInfoAddAction extends SimpleFormController { private String success_view; private int doAdd(UserInfo userinfo) { public String getSuccess_view() { public void setFail_view(String string) { public void setSuccess_view(String string) { } |
4.UserInfo
PO類,數(shù)據(jù)model層的反映,與數(shù)據(jù)庫建立O/R mapping的映射
package com.kacakong.hibernate.pojos; public class UserInfo { public Integer getNid() { public void setNid(Integer nid) {
|
5.UserInfo.hbm.xml
PO的hibernate O/R mapping定義文件,這里的ID我設(shè)置成了assigned程序獲取
6.UserInfoDAO
接口類,只定義了實(shí)現(xiàn)方法名稱
package com.kacakong.hibernate.dao; import com.kacakong.hibernate.pojos.UserInfo; public interface UserInfoDAO { |
7.UserInfoDAOImp
UserInfoDAO接口的實(shí)現(xiàn),繼承了HibernateDaoSupport
package com.kacakong.hibernate.dao;
import org.springframework.orm.hibernate.support.HibernateDaoSupport; import com.kacakong.hibernate.pojos.UserInfo; public class UserInfoDAOImp extends HibernateDaoSupport implements UserInfoDAO { public UserInfo get(Integer id) { public void save(UserInfo userinfo) { } |
8.Web.xml的配置
|
9.Config.xml的定義
10.Hibernate-Context.xml的定義
posted on 2006-02-23 19:27 都市淘沙者 閱讀(7032) 評(píng)論(3) 編輯 收藏 所屬分類: Spring+Struts+Hibernate