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数组与二维数组及替换空格实战真题讲解
    2022-07-07
  • JAVA 笔记 ClassLoader.getResourceAsStream() 与 Class.getResourceAsStream()的区别

    JAVA 笔记 ClassLoader.getResourceAsStream() 与 Class.getResourc

    这篇文章主要介绍了JAVA 笔记 ClassLoader.getResourceAsStream() 与 Class.getResourceAsStream()的区别,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-07-07
  • 详解MyBatis逆向工程

    详解MyBatis逆向工程

    本篇文章主要介绍了详解MyBatis逆向工程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • java编程FinalReference与Finalizer原理示例详解

    java编程FinalReference与Finalizer原理示例详解

    这篇文章主要为大家介绍了java编程FinalReference与Finalizer的核心原理以及示例源码的分析详解,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2022-01-01
  • java简单冒泡排序实例解析

    java简单冒泡排序实例解析

    这篇文章主要为大家详细介绍了java简单冒泡排序实例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • netty中pipeline的handler添加删除分析

    netty中pipeline的handler添加删除分析

    这篇文章主要为大家介绍了netty中pipeline的handler添加删除分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • 如何将JSON字符串数组转对象集合

    如何将JSON字符串数组转对象集合

    这篇文章主要介绍了如何将JSON字符串数组转对象集合,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • Java集合源码全面分析

    Java集合源码全面分析

    下面小编就为大家带来一篇Java集合源码全面分析。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-07
  • Java C++题解leetcode672灯泡开关示例

    Java C++题解leetcode672灯泡开关示例

    这篇文章主要为大家介绍了Java C++题解leetcode672灯泡开关示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • 简述Java编程之关系操作符

    简述Java编程之关系操作符

    这篇文章主要介绍了简述Java编程中的关系操作符,同时对比较类作了简单介绍,需要的朋友可以参考下
    2017-09-09

最新评论