首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

Struts + Spring + Hibernate 整合開發實戰入門:從環境建置到 CRUD 完整流程

     編輯:Java 程式設計入門

專案概覽

本文以簡易用戶管理系統(MyUsers)為例,示範經典三層架構整合開發:前端 Struts MVC、中介層 Spring 管理業務邏輯與事務、持久層 Hibernate 實作 ORM。功能涵蓋用戶的新增、查詢、更新、刪除(CRUD)。

開發環境與工具準備

Eclipse 必裝外掛

  • Hibernate Sync:https://www.binamics.com/hibernatesync
  • Spring IDE:https://springframework.sourceforge.net/spring-ide/eclipse/updatesite/
  • MyEclipse(含破解版)、Tomcat 外掛、XML/JSP 編輯增強

資料庫建表

CREATE TABLE app_user (
    id NUMBER NOT NULL PRIMARY KEY,
    firstname VARCHAR2(32),
    lastname VARCHAR2(32)
);

專案結構與依賴

建立 Web Project,目錄包含 page(JSP)、test(JUnit)。將 Struts、Hibernate、Spring 相關 JAR 放入 WEB-INF/lib。

持久層:Hibernate O/R Mapping

1. 逆向生成映射檔

使用 Hibernate 外掛從資料庫匯出 User.hbm.xml,對應 APP_USER 表,主鍵採 assigned 策略(手動指派)。

2. 生成實體類別

透過 Hibernate Synchronizer 產生 User.java,繼承 BaseObject(實作 Serializable、Apache Commons Lang 產生 toString/equals/hashCode)。屬性含 id、firstName、lastName 及 Getter/Setter。

DAO 層設計

1. 基礎介面

package com.jandar.services.dao;
public interface IDAO { }

2. 用戶 DAO 介面

public interface IUserDAO extends IDAO {
    List getUsers();
    User getUser(Integer userid);
    void saveUser(User user);
    void removeUser(Integer id);
}

3. Hibernate 實作類

public class UserDaoHibernate extends HibernateDaoSupport implements IUserDAO {
    private Log log = LogFactory.getLog(UserDaoHibernate.class);

    public List getUsers() {
        return getHibernateTemplate().find("from User");
    }

    public User getUser(Integer id) {
        return (User) getHibernateTemplate().get(User.class, id);
    }

    public void saveUser(User user) {
        getHibernateTemplate().saveOrUpdate(user);
        if (log.isDebugEnabled()) log.debug("userId set to " + user.getId());
    }

    public void removeUser(Integer id) {
        Object user = getHibernateTemplate().load(User.class, id);
        getHibernateTemplate().delete(user);
        if (log.isDebugEnabled()) log.debug("del user " + id);
    }
}

繼承 HibernateDaoSupport 簡化 Session 管理,透過 HibernateTemplate 執行 CRUD 操作。

後續步驟預覽

  1. 配置 applicationContext.xml 裝配 Spring Bean、事務攔截
  2. 建立業務層 UserManager,聲明式事務管理
  3. 整合 Struts Action 與 ActionForm
  4. 編寫 JUnit 測試驗證 DAO、Service、Action 各層
  5. 建立 JSP 頁面完成瀏覽器端 CRUD 操作

完整配置細節請參考後續章節。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved