javaweb實(shí)戰(zhàn)之商城項(xiàng)目開發(fā)(一)
本文為大家分享了javaweb實(shí)戰(zhàn)之商城項(xiàng)目開發(fā)的第一部分,供大家參考,具體內(nèi)容如下
一.項(xiàng)目功能結(jié)構(gòu)
1.功能
2.實(shí)體
3.對(duì)應(yīng)sql語(yǔ)句
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 ,'安徽阜陽(yáng)','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) );
二.項(xiàng)目準(zhǔn)備
1.實(shí)體類實(shí)現(xiàn)
分別建立dao,filter,model,util的包,并在model中實(shí)現(xiàn)實(shí)體類,這里以User.java為例.
注意對(duì)于數(shù)據(jù)庫(kù)中外鍵,比如adress表中有外鍵user_id,那么在Adress.java中就可以直接給個(gè)User對(duì)象,在取adress表的時(shí)候就把user一并取出來(lái).
User.java
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表示注冊(cè)用戶 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
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對(duì)象,來(lái)代替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.分頁(yè)框架準(zhǔn)備
分頁(yè)主要是寫pager.java和SystemContext.java以及SystemFilter.java三個(gè)類.
完整建立后如下
本文是項(xiàng)目實(shí)戰(zhàn)的第一篇,之后還有更新:javaweb實(shí)戰(zhàn)之商城項(xiàng)目開發(fā)(二) ,希望大家不要錯(cuò)過(guò)。
相關(guān)文章
高并發(fā)環(huán)境下安全修改同一行數(shù)據(jù)庫(kù)數(shù)據(jù)的策略分享
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,越來(lái)越多的應(yīng)用需要在高并發(fā)環(huán)境中運(yùn)行,數(shù)據(jù)庫(kù)的并發(fā)控制成為了業(yè)務(wù)的關(guān)鍵,本文將介紹如何在高并發(fā)情況下,安全地修改數(shù)據(jù)庫(kù)中的同一行數(shù)據(jù),需要的可以參考一下2023-06-06Mybatis批量插入數(shù)據(jù)返回主鍵的實(shí)現(xiàn)
這篇文章主要介紹了Mybatis批量插入數(shù)據(jù)返回主鍵的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01SpringBoot+Redis使用AOP防止重復(fù)提交的實(shí)現(xiàn)
本文主要介紹了SpringBoot+Redis使用AOP防止重復(fù)提交的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07淺析對(duì)Java關(guān)鍵字final和static的理解
本文主要給大家談?wù)勑【帉?duì)java關(guān)鍵字final和static的理解,本文給大家介紹的較詳細(xì),需要的朋友參考參考下2017-04-04Java利用PDFBox實(shí)現(xiàn)PDF文檔基本操作
這篇文章主要為大家詳細(xì)介紹了java如何利用PDFBox實(shí)現(xiàn)PDF文檔基本操作,例如創(chuàng)建PDF文檔、加載PDF文檔、獲取總頁(yè)數(shù)等,需要的小伙伴可以參考下2023-11-11Java連接MySQL數(shù)據(jù)庫(kù)實(shí)例
這篇文章介紹了Java連接MySQL數(shù)據(jù)庫(kù)實(shí)例的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-04-04SpringBoot+JSON+AJAX+ECharts+Fiddler實(shí)現(xiàn)前后端分離開發(fā)可視化
這篇文章主要介紹了SpringBoot+JSON+AJAX+ECharts+Fiddler實(shí)現(xiàn)前后端分離開發(fā)可視化,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06java MyBatis攔截器Inteceptor詳細(xì)介紹
這篇文章主要介紹了java MyBatis攔截器Inteceptor詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2016-11-11