javaweb实战之商城项目开发(一)

 更新时间:2021年08月31日 15:11:39   作者:茶饮月  
这篇文章主要针对javaweb商城项目开发进行实战演习,对javaweb商城项目开发进行详细分析,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文为大家分享了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三个类.

完整建立后如下

本文是项目实战的第一篇,之后还有更新:javaweb实战之商城项目开发(二) ,希望大家不要错过。

相关文章

  • Java中负数的绝对值竟然不一定是正数

    Java中负数的绝对值竟然不一定是正数

    这篇文章主要介绍了Java中负数的绝对值竟然不一定是正数,文中给大家提到Java 中怎么把负数转换为正数,需要的朋友可以参考下
    2021-07-07
  • java中并发Queue种类与各自API特点以及使用场景说明

    java中并发Queue种类与各自API特点以及使用场景说明

    这篇文章主要介绍了java中并发Queue种类与各自API特点以及使用场景说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • spring jpa ManyToMany原理及用法详解

    spring jpa ManyToMany原理及用法详解

    这篇文章主要介绍了spring jpa ManyToMany原理及用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • java lambda循环_使用Java 8 Lambda简化嵌套循环操作

    java lambda循环_使用Java 8 Lambda简化嵌套循环操作

    这篇文章主要介绍了java lambda循环_使用Java 8 Lambda简化嵌套循环操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • Spring MVC 4.1.3 + MyBatis零基础搭建Web开发框架(注解模式)

    Spring MVC 4.1.3 + MyBatis零基础搭建Web开发框架(注解模式)

    本篇文章主要介绍了Spring MVC 4.1.3 + MyBatis零基础搭建Web开发框架(注解模式),具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-03-03
  • 使用@RequestParam设置默认可以传空值

    使用@RequestParam设置默认可以传空值

    这篇文章主要介绍了使用@RequestParam设置默认可以传空值的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • 深入浅析java中finally的用法

    深入浅析java中finally的用法

    finally自己由关键字finally和后面的finally块组成。这篇文章重点给大家介绍java中finally的用法,需要的朋友参考下吧
    2018-06-06
  • java使用OGEngine开发2048

    java使用OGEngine开发2048

    众所周知OGEngine是国人对AndEngine改进后的国产Java编程的游戏引擎,除了支持3D游戏这个鸡肋功能之外AndEngine的功能OGEngine都有,而且AndEngine缺少的多点触摸功能也被国人完善了。今天我们就尝试下使用OGEngine制作热门游戏2048.
    2015-03-03
  • 浅谈两个jar包中包含完全相同的包名和类名的加载问题

    浅谈两个jar包中包含完全相同的包名和类名的加载问题

    下面小编就为大家带来一篇浅谈两个jar包中包含完全相同的包名和类名的加载问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • 详解Log4j 日志文件存放位置设置

    详解Log4j 日志文件存放位置设置

    这篇文章主要介绍了详解Log4j 日志文件存放位置设置,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08

最新评论