srm開發(基於ssh)(4)
阿新 • • 發佈:2018-11-14
1 input處理內容補充
-在struts2裡面有錯誤處理機制,當上傳檔案超過預設的大小,自動返回結果input
-在struts.xml中配置input的返回結果
<!-- 配置input結果 --> <result name="input">/jsp/error.jsp</result>
(2)當struts2自動返回input結果,出現錯誤,在配置input的頁面中可以檢視錯誤資訊
-在配置的錯誤頁面中,使用struts2標籤可以檢視錯誤資訊
要求使用struts2標籤庫,新增如下所示:
<s:actionerror/>
客戶拜訪管理模組
1 什麼是客戶拜訪
(1)客戶:與公司有業務往來的
-比如傳智播客的客戶 有百度、阿里巴巴、新浪
(2)使用者:可以使用系統的人
2 使用者和客戶關係
(1)使用者和客戶之間是拜訪關係
(2)使用者和客戶是多對多關係
**一個使用者可以拜訪多個客戶,一個客戶可以被多個使用者拜訪
客戶:百度、新浪
使用者:小王、小宋
*小王 可以 拜訪 百度、可以拜訪新浪
*百度可以被小王拜訪,可以被小宋拜訪
(3)多對多建表
-建立第三張表,使用外來鍵維護關係
3 之前在hibernate階段學過多對多配置
(1)缺陷:第三張表只有兩個欄位(兩個id值)
4 把多對多拆分成兩個一對多實現
(1)使用者、客戶、拜訪
(2)使用者和拜訪是一對多
配置和客戶的關係
public class Visit { private Integer vid; private String vaddress;//拜訪地址 private String vcontent;//拜訪內容
第二步 實體類之間互相表示
(1)使用者和拜訪一對多
-在使用者實體類表示所有拜訪記錄,使用set集合
//表示所屬使用者 private User user; public User getUser() {return user; } public void setUser(User user) { this.user = user; }
第三步 配置對映關係
(1)一個實體類對應對映檔案,建立三個對映檔案
<class name="cn.itcast.entity.Visit" table="t_visit"> <id name="vid" column="vid"> <generator class="native"> </generator> </id> <property name="vaddress" column="vaddress"></property> <property name="vcontent" column="vcontent"></property> </class>
(2)使用者和拜訪一對多
-在使用者對映檔案中表示所有拜訪記錄,使用set標籤
(3)客戶和拜訪一對多
-客戶對映檔案表示所有拜訪
<!-- 表示所有拜訪記錄 --> <set name="setCustVisit"> <key column="cvid"></key> <one-to-many class="cn.itcast.entity.Visit"/> </set>
-在拜訪對映檔案中表示所屬客戶
<!-- 拜訪記錄所屬客戶 --> <many-to-one name="customer" class="cn.itcast.entity.Customer" column="cvid"></many-to-one>
第四步 把對映檔案引入到核心配置檔案中
資料庫的建表語句如下所示:
CREATE TABLE `t_visit` ( `vid` int(11) NOT NULL AUTO_INCREMENT, `vaddress` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, `vcontent` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, `uvid` int(11) DEFAULT NULL, `cvid` int(11) DEFAULT NULL, PRIMARY KEY (`vid`), KEY `FKneag8njjijyk0mt952k3leyiu` (`uvid`), KEY `FKfq1vs5t876wufr6l5tctnopps` (`cvid`), CONSTRAINT `FKfq1vs5t876wufr6l5tctnopps` FOREIGN KEY (`cvid`) REFERENCES `t_customer` (`cid`), CONSTRAINT `FKneag8njjijyk0mt952k3leyiu` FOREIGN KEY (`uvid`) REFERENCES `t_customer` (`cid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci