SpringMVC,Spring,Hibernate框架自動生成器
在開發java web項目時,一般會採用spring+hibernate的方式完成前端數據接收處理和業務入庫處理, 這需要我們每做一個項目就搭建一套類似的框架,但下面給大家帶來的這個應用,只需要簡單的配置即可完成框架的搭建和簡單的業務處理,下面請出今天的主角
:視頻播放地址:http://www.wisdomdd.cn/Wisdom/resource/articleDetail.htm?resourceId=1021
如果下方文本有不懂的,可以看一下上面對應的視頻講解
Java代碼生成器
1. 點擊右側按鈕下載這個生成器,壓縮包裡面除了生成器外,還有生成器生成的項目的對應的數據腳本, 這個數據腳本是手工導 入的,注: 生成器只能生成相應的代碼,並不能生成數據腳本
2. 生成器安裝完成後,目錄結構如下圖, 雙擊 SpringMVC代碼生成器.exe 即可運行
3. 下拉選擇工資管理, 本文以 【工資管理】 為例進行講解
4. 實例中三張表 Department(部門表), Employee(員工表), Salary(薪水表)
由於採用hibernate進行編程, Employee含有Department信息(多對一), Salary含有Emplyee信息(多對一), 見下圖
5. 根據上面三張表的結構關係,建立自己的sql庫表(MySql5及以上), 下載的壓縮包含有相應的sql建表語句
6. 如果三張表仍不滿足我們的需求,可以在菜單【項目操作】->【添加類】中添加新表,添加類就是添加新表
目前處在【工資管理】項目中, 如果需要創建另一個項目,則可以【新建項目】, 項目創建完就可以創建類(表),
類創建完即可以添加成員
7. 創建java項目時需要一個包名, 點擊菜單進行設置
包名設置完成, 點擊菜單【自動生成代碼】
項目生成後,對應的文件在projects中
8 使用myeclipe將項目導入到工程中, JDK使用 JDK1.6,JDK1.7
9 將數據腳本導致到mysql中,並根據下圖配置資料庫名,用戶名與密碼
10. 生成的項目使用二層架構, controller與dao層,事務在dao層進行處理
11. 項目正常啟動後,訪問鏈接 http://localhost:8080/JavaWebProject/login 根據admin中的信息進行登錄
12 登錄成功,進入後台管理頁面,頁面有點不太和諧, 如果你會css,html, 你可以進行定製化開發
因為本文的重點是後台,所以前台不會太過關注
下面進入後台應用講解
主要講解我們生成的三張表對應的功能
14. Department表
Department對應的Bean , @NotEmpty是springmvc對數據的驗證
public
class
Department {
/*部門編號*/
private Integer departmentId;
public Integer getDepartmentId() {
return departmentId;
}
public void setDepartmentId(Integer departmentId) {
this.departmentId = departmentId;
}
/*部門名稱*/
@NotEmpty
(message=
"部門名稱不能為空"
)
private
String departmentName;
public
String getDepartmentName() {
return
departmentName;
}
public
void
setDepartmentName(String departmentName) {
this
.departmentName = departmentName;
}
}
Department Bean對應資料庫表映射關係
表明departmentId為表的主鍵,並且自增長, 所以插入值時,這個欄位不能賦值
hibernate-mapping
package
=
class
name
=
"Department"
table
=
"t_Department"
id
name
=
"departmentId"
column
=
"departmentId"
generator
class
=
"native"
id
property
name
=
"departmentName"
column
=
"departmentName"
type
=
"string"
length
=
"20"
class
hibernate-mapping
使用Post方法,url介面如下可以添加部門信息,注意不要有departmentId欄位
15 Employee表
Employee對應的Bean , @NotEmpty是springmvc對數據的驗證
public
class
Employee {
/*員工編號*/
@NotEmpty(message="員工編號不能為空")
private String empoyeeNo;
public String getEmpoyeeNo() {
return empoyeeNo;
}
public void setEmpoyeeNo(String empoyeeNo) {
this.empoyeeNo = empoyeeNo;
}
/*員工姓名*/
@NotEmpty(message="員工姓名不能為空")
private String employeeName;
public String getEmployeeName() {
return employeeName;
}
public void setEmployeeName(String employeeName) {
this.employeeName = employeeName;
}
/*員工部門*/
private Department employeeDepart;
public Department getEmployeeDepart() {
return employeeDepart;
}
public void setEmployeeDepart(Department employeeDepart) {
this.employeeDepart = employeeDepart;
}
/*員工生日*/
@NotEmpty(message="必須輸入員工生日")
private String birthday;
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
/*入職年份*/
@NotNull(message="必須輸入入職年份")
private Integer inYear;
public Integer getInYear() {
return inYear;
}
public void setInYear(Integer inYear) {
this.inYear = inYear;
}
/*員工頭像*/
private
String employeePhoto;
public
String getEmployeePhoto() {
return
employeePhoto;
}
public
void
setEmployeePhoto(String employeePhoto) {
this
.employeePhoto = employeePhoto;
}
}
employeeDepart為Employee的外鍵
private Department employeeDepart; 此屬性原本應該是整型,但由於是外鍵,使用herbinate 多對一屬性,故在此聲明為
相應的對象
hibernate-mapping
package
=
class
name
=
"Employee"
table
=
"t_Employee"
id
name
=
"empoyeeNo"
type
=
"string"
length
=
"20"
generator
class
=
"assigned"
id
property
name
=
"employeeName"
column
=
"employeeName"
type
=
"string"
length
=
"10"
many-to-one
name
=
"employeeDepart"
column
=
"employeeDepart"
class
=
"Department"
lazy
=
"false"
outer-join
=
"true"
cascade
=
"save-update"
property
name
=
"birthday"
column
=
"birthday"
type
=
"string"
length
=
"10"
property
name
=
"inYear"
column
=
"inYear"
type
=
"java.lang.Integer"
property
name
=
"employeePhoto"
column
=
"employeePhoto"
type
=
"string"
length
=
"50"
class
hibernate-mapping
插入員工數據url, url中攜帶員工數據, 並且指定部門departmentId, 指定方式為employeeDepart.departmentId=2
http://localhost:8080/JavaWebProject/Employee/add?empoyeeNo=33&employeeName=gepanjiang&birthday=19841221&inYear=1984&employeeDepart.departmentId=2
注意: empoyeeNo必須指定(原因:)
TAG:代碼專家 |