JAVAWEB实现简单的商城项目(一)实例代码解析

 更新时间:2016年02月23日 10:32:11   作者:茶饮月  
本文给大家分享一段实例代码给大家介绍JAVAWEB实现简单的商城项目(一),非常具有参考价值,感兴趣的朋友一起学习吧

 一.项目功能结构

1.功能

这里写图片描述

2.实体

这里写图片描述

3.对应sql语句

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

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

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三个类.可以参开前面的博文,jsp通用分页框架

完整建立后如下

这里写图片描述

关于JAVAWEB实现简单的商城项目就给大家介绍到这里,希望对大家有所帮助!

相关文章

  • spring注解如何为bean指定InitMethod和DestroyMethod

    spring注解如何为bean指定InitMethod和DestroyMethod

    这篇文章主要介绍了spring注解如何为bean指定InitMethod和DestroyMethod,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • Java 泛型(Generic)简介及用法详解

    Java 泛型(Generic)简介及用法详解

    泛型是一种把类型明确的工作推迟到创建对象或者调用方法的时候才去明确的特殊的类型,参数化类型,把类型当作参数一样的传递,本文给大家介绍Java 泛型(Generic)概述及使用,感兴趣的朋友跟随小编一起看看吧
    2023-10-10
  • scala当中的文件操作和网络请求的实现方法

    scala当中的文件操作和网络请求的实现方法

    这篇文章主要介绍了scala当中的文件操作和网络请求的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • Maven中的SnapShot版本和正式版本的区别

    Maven中的SnapShot版本和正式版本的区别

    在Nexus仓库中,一个仓库一般分为public(Release)仓和SNAPSHOT仓,本文详细的介绍了SnapShot版本和正式版本的区别,感兴趣的可以了解一下
    2021-06-06
  • Java 程序员必备的 Intellij IDEA 插件

    Java 程序员必备的 Intellij IDEA 插件

    java插件十分方便实用,以下是我用过不错的Intellij插件,当然还有很多插件也都不错,下面将我觉得不错的插件分享给大家,希望能帮到大家
    2018-09-09
  • SpringBoot整合Dubbo框架,实现RPC服务远程调用

    SpringBoot整合Dubbo框架,实现RPC服务远程调用

    Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。今天就来看下SpringBoot整合Dubbo框架的步骤
    2021-06-06
  • [Spring MVC]-详解SpringMVC的各种参数绑定方式

    [Spring MVC]-详解SpringMVC的各种参数绑定方式

    本篇文章主要介绍了SpringMVC的各种参数绑定方式 ,具有一定的参考价值,有需要的可以了解一下。
    2016-12-12
  • java Lambda表达式的使用心得

    java Lambda表达式的使用心得

    这篇文章主要介绍了java Lambda表达式的使用心得,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • JavaCV实现多个MP4视频的合并

    JavaCV实现多个MP4视频的合并

    这篇文章主要为大家详细介绍了如何使用javacv和ffmpeg框架实现简单快速的合并mp4文件的视频和音频,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-10-10
  • mybatis使用xml进行增删改查代码解析

    mybatis使用xml进行增删改查代码解析

    这篇文章主要介绍了mybatis使用xml进行增删改查代码解析,分享了相关配置和代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-02-02

最新评论