一.項目功能結構
1.功能
2.實體
3.對應sql語句
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
CREATE DATABASE shop; use shop; create table user ( id int (11) primary key auto_increment, username varchar (100), password varchar (100), nickname varchar (100), type int (5) ); INSERT INTO user VALUES ( null , 'admin' , '7946521' , '管理員' ,1); CREATE TABLE address( id INT (10) PRIMARY KEY AUTO_INCREMENT, name VARCHAR (255), phone VARCHAR (100), postcode VARCHAR (100), user_id INT (10), CONSTRAINT FOREIGN KEY (user_id) REFERENCES user (id) ); INSERT INTO address VALUES ( NULL , '安徽阜陽' , '1234567890' , '236000' , '1' ); SELECT t1.*,t2.* FROM address t1 LEFT JOIN user t2 ON t1.user_id = t2.id where t1.user_id =1 ; create table orders( id int (11) primary key auto_increment, buy_date datetime, pay_date datetime, confirm_date datetime, status int (5), user_id int (11), address_id int (11), CONSTRAINT FOREIGN KEY (user_id) REFERENCES user (id), CONSTRAINT FOREIGN KEY (address_id) REFERENCES address(id) ); create table category( id int (11) primary key auto_increment, name varchar (100) ); create table goods( id int (11) primary key auto_increment, name varchar (100), price double , intro text, img varchar (100), stock int (10), c_id int (10), CONSTRAINT FOREIGN KEY (c_id) REFERENCES category(id) ); create table goods_orders( id int (11) primary key auto_increment, goods_id int (10), orders_id int (10), CONSTRAINT FOREIGN KEY (goods_id) REFERENCES goods(id), CONSTRAINT FOREIGN KEY (orders_id) REFERENCES orders(id) ); |
二.項目準備
1.實體類實現
分別建立dao,filter,model,util的包,并在model中實現實體類,這里以User.java為例.
注意對于數據庫中外鍵,比如adress表中有外鍵user_id,那么在Adress.java中就可以直接給個User對象,在取adress表的時候就把user一并取出來.
User.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
package com.model; import java.util.List; /** * Created by nl101 on 2016/2/22. */ public class User { private int id; //id private String username; private String password; private String nickname; //昵稱 private int type; //1表示管理員,2表示注冊用戶 private List<Address> addresses; public List<Address> getAddresses() { return addresses; } public void setAddresses(List<Address> addresses) { this .addresses = addresses; } public int getId() { return id; } public void setId( int id) { this .id = id; } public String getUsername() { return username; } public void setUsername(String username) { this .username = username; } public String getPassword() { return password; } public void setPassword(String password) { this .password = password; } public String getNickname() { return nickname; } public void setNickname(String nickname) { this .nickname = nickname; } public int getType() { return type; } public void setType( int type) { this .type = type; } } |
Adress.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
package com.model; /** * Created by nl101 on 2016/2/22. */ public class Address { private int id; private String name; private String phone; private String postcode; //直接給user對象,來代替user_id private User user; public int getId() { return id; } public void setId( int id) { this .id = id; } public String getName() { return name; } public void setName(String name) { this .name = name; } public String getPhone() { return phone; } public void setPhone(String phone) { this .phone = phone; } public String getPostcode() { return postcode; } public void setPostcode(String postcode) { this .postcode = postcode; } public User getUser() { return user; } public void setUser(User user) { this .user = user; } } |
2.分頁框架準備
分頁主要是寫pager.java和SystemContext.java以及SystemFilter.java三個類.
完整建立后如下
本文是項目實戰的第一篇,之后還有更新,希望大家不要錯過。