数据库实现电商管理系统 2019-8-11

数据库实现电商管理系统

小型电商管理系统商品模块基本信息,要求包含商品管理相关功能,其中商品类包含以下属性:id,商品名,类别名,单价,库存量,计量单位,上架时间,修改时间,销量,商品状态(1:正常销售/0:下架);

具体实现功能

  1. 实现控制台输入商品信息,并记录到文件中
  2. 列表查询所有商品数据
  3. 查询出所有下架商品
  4. 按类别查询出所有的商品
  5. 修改商品状态(要求同步更新修改时间)
  6. 修改商品的单价和库存量(要求同步更新修改时间)
  7. 删除下架商品

项目实施

  1. 建立一个一个数据库dianshang 并且创建一个表 commodity。
  2. 导入jdbc包 ,并且 创建连接·对 表操作进行封装
  3. 创建一个管理商品类进行数据库的操作
  4. 建立程序入口,对管理功能的补充,和控制台显示的完善。

具体实现的类

  • 建立数据库和表Commodity
  • 商品信息类Commodity
  • 商品管理类 CommodityManaget
  • 创建数据库 连接并且 对表操作封装类 ComSql
  • 程序入口Test

建立数据库和表Commodity

商品信息类Commodity

	
package l电商管理系统;

import java.io.Serializable;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Commodity {
	/**
	 * id,商品名,类别名,单价,库存量,计量单位,上架时间,修改时间,销量,商品状态
	 */

	private int id;
	private String name;
	private String category;
	private double price;
	private int amount;
	private String danwei;
	private String utime;
	private String xtime;
	
	private int  sales;
	private int state;
	
	public Commodity( String name, String category, double d, int amount, String danwei,
			 int sales, int i) {
		
		this.name = name;
		this.category = category;
		this.price = d;
		this.amount = amount;
		this.danwei = danwei;
		this.utime = dateTime();
		this.xtime = dateTime();
		this.sales = sales;
		this.state = i;
	}
	public String dateTime(){
		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		
		return df.format(new Date());
	}
	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 getCategory() {
		return category;
	}
	public void setCategory(String category) {
		this.category = category;
	}
	
	public double getPrice() {
		return price;
	}
	public void setPrice(double price) {
		this.price = price;
	}
	public int getAmount() {
		return amount;
	}
	public void setAmount(int amount) {
		this.amount = amount;
	}
	public String getDanwei() {
		return danwei;
	}
	public void setDanwei(String danwei) {
		this.danwei = danwei;
	}
	public String getUtime() {
		return utime;
	}
	public void setUtime(String utime) {
		this.utime = utime;
	}
	public String getXtime() {
		return xtime;
	}
	public void setXtime(String xtime) {
		this.xtime = xtime;
	}
	public int getSales() {
		return sales;
	}
	public void setSales(int sales) {
		this.sales = sales;
	}
	
	
	public int getState() {
		return state;
	}
	public void setState(int state) {
		this.state = state;
	}
	@Override
	public String toString() {
		return     "'" + name + "'"+"," +"'"+ category +"'"+ "," + price + ","
				+ amount + "," +"'"+danwei +"'"+ "," +"'"+ utime +"'"+"," +"'"+ xtime +"'"+"," + sales
				+ "," + state;
	}
	
	
	
	
}


商品管理类 CommodityManaget

package l电商管理系统;

import java.math.BigDecimal;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;


public class CommodityManaget {
 
 
 
 public void add(Commodity c){
 	if (ComSql.insert("insert into commodity(name,category,price,amount,danwei,utime,xtime,sales,state) values ("
 			+c.toString() +")"
 			) != 0){
 		System.out.println("添加成功!");
 		
 	}
 
 }
 public void outSet(ResultSet set){
 		try {
 			while(set.next()){
 			int id=set.getInt("id");
 			String name=set.getString("name"); 
 			 String category =set.getString("category");
 			 double price= set.getDouble("price");
 			 int amount = set.getInt("amount");
 			String danwei = set.getString("danwei");
 			 Date utime = set.getDate("utime");
 			 Date xtime= set.getDate("xtime");	
 			int  sales =set.getInt("sales");
 			int state = set.getInt("state");
 			
 			//SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 			
 			System.out.println(id+"\t"+name + "\t"+  "\t"+category +"\t"+  price + "\t"
 				+ amount + "\t" +danwei + "\t" +utime+"\t" +xtime +"\t" + sales
 				+ "\t" + state);}
 		} catch (SQLException e) {
 			// TODO Auto-generated catch block
 			e.printStackTrace();
 		}
 }
 
 //显示所有商品
 public void listAll() throws SQLException{
 	ResultSet set =ComSql.selectOut("select * from commodity");	
 	outSet( set);
 
 }
 //根据名字查找商品
 public void findName(String name){
 	String sql="select * from commodity where name="+"'"+name+"'";
 	ResultSet set =ComSql.selectOut(sql);
 	outSet( set);	
 }
 //查找下架的商品
 	public void findState(){
 		String sql="select * from commodity where state=0";
 		ResultSet set =ComSql.selectOut(sql);
 		outSet( set);	
 	}
 	//根据类别名查找商品
 	public void findCategory(String category){
 		String sql="select * from commodity where category="+"'"+category+"'";
 		ResultSet set =ComSql.selectOut(sql);
 		outSet( set);	
 	}
 	
 	public void editState(String name){
 			
 		try {
 			String sql1="select * from commodity where name="+"'"+name+"'";
 			ResultSet set =ComSql.selectOut(sql1);
 			set.next();
 			int a = set.getInt("state");
 			System.out.println(a);
 			String sql="";
 			if(a==0){
 				sql ="update commodity set state= 1,xtime=now() where name ="+"'"+name+"'";
 				
 			}else{
 				sql ="update commodity set state= 0,xtime=now() where name="+"'"+name+"'";	
 			}
 			
 			ComSql.insert(sql);
 			
 		} catch (SQLException e) {
 			// TODO Auto-generated catch block
 			e.printStackTrace();
 		}
 	}
 	//6.修改商品的单价和库存量(要求同步更新修改时间)
 	public void editPN(String name,double d, int n){		
 		String sql="update commodity set xtime=now(), price ="+d+",amount ="+n+" where name= '"+name+"'";	
 		ComSql.insert(sql);	
 	}
 	//7.删除下架商品
 	public void deleState(){
 		String sql ="delete from commodity where state=0";
 		ComSql.insert(sql);
 	}

}


表操作封装类 ComSql

package l电商管理系统;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class ComSql {
 private static final String url="jdbc:mysql://localhost:3306/dianshang";
 private static final String user="root";
 private static final String password="123456";
 static Connection cn=null;
  static Statement sta=null;
  
 static{
 	
 	try {
 		Class.forName("com.mysql.jdbc.Driver");
 		 
 		 cn =DriverManager.getConnection(url,user,password);
 		 
 		 sta =cn.createStatement();
 		 
 	} catch (ClassNotFoundException e) {
 		// TODO Auto-generated catch block
 		e.printStackTrace();
 	} catch (SQLException e) {
 		// TODO Auto-generated catch block
 		e.printStackTrace();
 	}
 	 
 	
 }
 public static int insert(String str){
 	
 	try {
 		return sta.executeUpdate(str);
 	} catch (SQLException e) {
 		// TODO Auto-generated catch block
 		e.printStackTrace();
 	}
 	return 0;
 	
 	
 }
 
  public static ResultSet selectOut(String str){
 	
 	try {
 		return sta.executeQuery(str);
 	} catch (SQLException e) {
 		// TODO Auto-generated catch block
 		e.printStackTrace();
 	}
 	return null;
 	
 	
 }
 

}



程序入口Test

package l电商管理系统;

import java.math.BigDecimal;
import java.sql.SQLException;
import java.util.Scanner;

public class Test {
	CommodityManaget cm = new CommodityManaget();
	Scanner sc = new Scanner(System.in);
	public void men(){
		System.out.println("       【电商管理系统】\n"
				+"1.添加商品信息\n"
				+ "2.列表查询所有商品数据\n"
				+ "3.查询出所有下架商品\n"
				+ "4.按类别查询出所有的商品\n"
				+ "5.修改商品状态(要求同步更新修改时间)\n"
				+ "6.修改商品的单价和库存量(要求同步更新修改时间)\n"
				+ "7.删除下架商品\n"
				+ "8.退出\n"
				
				);
		
		start();
	}

	private void start() {
		sc = new Scanner(System.in);
		int key = sc.nextInt();
		switch (key) {
		case 1:
			addR();//1.添加商品信息
			men();
			break;
		case 2:
			listR();//2.列表查询所有商品数据
			men();
			break;
		case 3:
			findStateR();//3.查询出所有下架商品
			men();
			break;
		case 4:
		findCategoryR();//4.按类别查询出所有的商品
		men();
			break;
		case 5:
			editStateR();//5.修改商品状态(要求同步更新修改时间)
			men();
				break;
		case 6:
			editPNR();//6.修改商品的单价和库存量(要求同步更新修改时间)
			men();
				break;
		case 7:
			deleteStaR();//7.删除下架商品
			men();
				break;
		case 8:
			System.out.println("欢迎下次使用!");
			return;
				
		
		}
		
	}

	private void deleteStaR() {
		cm.deleState();
		System.out.println("删除成功!");
		
	}

	private void editPNR() {
		System.out.println("请输入需要修改的商品名称");
		sc = new Scanner(System.in);
		String name=sc.next();
		System.out.println("请输入商品单价");
		double d =sc.nextDouble();
		System.out.println("请输入商品库存");
		int n =sc.nextInt();
		
		cm.editPN(name, d, n);
		System.out.println("修改成功!");
		
	}

	private void editStateR() {
		System.out.println("请输入需要修改的商品名称");
		sc = new Scanner(System.in);
		String cate=sc.next();
		cm.editState(cate);
	}

	private void findCategoryR() {
		System.out.println("请输入商品类别");
		sc = new Scanner(System.in);
		String cate=sc.next();
		System.out.println("id\t商品名\t\t类别名\t单价\t库存量\t计量单位\t上架时间\t修改时间\t销量\t商品状态");
		
		cm.findCategory(cate);
		
		
	}

	private void findStateR() {
		System.out.println("id\t商品名\t\t类别名\t单价\t库存量\t计量单位\t上架时间\t修改时间\t销量\t商品状态");
		
			cm.findState();
		
		
	}

	private void listR() {
		System.out.println("id\t商品名\t\t类别名\t单价\t库存量\t计量单位\t上架时间\t修改时间\t销量\t商品状态");
		
		try {
			cm.listAll();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}

	private void addR() {	
		System.out.println("商品名,类别名,单价,库存量,计量单位,销量,商品状态(0/1)");
		sc = new Scanner(System.in);
		String s =sc.nextLine();
		String [] info =s.split("/");
		
				
					Commodity c  = new Commodity(
							info[0],
							info[1],
							Double.parseDouble(info[2]),
							Integer.parseInt(info[3]),
							info[4],
							Integer.parseInt(info[5]),
							Byte.parseByte(info[6]));				
		       cm.add(c);
		      
			
	}
	
	public static void main(String[] args) {
		Test t = new Test();
		t.men();
	}
	
	
	
}


在这里我们的教师学生日报管理系统已经写完了~~!
来看看成果吧 ^ v ^!

成果展示

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据库课程设计是指在数据库课程中,通过实践来掌握数据库设计、开发和应用的知识和技能。管理系统是一种基于务的信息系统,用于管理务交易过程中的各种业务活动。在数据库课程设计中,管理系统可以作为一个非常好的实践项目,通过设计和实现管理系统,可以深入理解数据库的设计、开发和应用。 具体来说,管理系统数据库设计可以包括以下几个方面: 1. 数据库模型设计:通过对管理系统的功能分析和需求分析,设计出适合管理系统数据库模型。 2. 数据库表设计:根据数据库模型,设计出各个数据表的结构、字段、数据类型等。 3. 数据库关系设计:定义各个数据表之间的关系,包括主键、外键等。 4. 数据库安全性设计:考虑数据库的安全性,设置用户权限、访问控制等措施。 在管理系统数据库设计完成后,需要进行实现和应用。具体来说,可以包括以下几个步骤: 1. 数据库建立和初始化:根据数据库设计文档,建立数据库,并进行初始化。 2. 数据库应用开发:根据管理系统的需求,编写相应的应用程序,实现各种业务功能。 3. 数据库测试:进行数据库应用的测试,确保数据库应用程序的正确性和稳定性。 4. 数据库维护:对数据库进行日常维护和管理,包括备份、恢复、性能调优等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值