java入门简单程序——超市管理系统

该项目实现了超市管理系统中最基本的增、删、改、查。
代码简单明了,适合入门级新手学习。
连接MySQL方便内容存储。
代码如下:
1.对商品类的声明与创建

package entity;

public class ComInfor {
	    int ID;//商品编号

	   String name;//商品名称

	   double price;//商品价格

	   int num;//商品数量


	public ComInfor() {
		
	}

	public ComInfor(int ID, String name, double price, int num, double money) {
		super();
		ID = ID;
		this.name = name;
		this.price = price;
		this.num = num;
	}

	public int getID() {
		return ID;
	}

	public void setID(int ID) {
		ID = ID;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public double getPrice() {
		return price;
	}

	public void setPrice(double price) {
		this.price = price;
	}

	public int getNum() {
		return num;
	}

	public void setNum(int num) {
		this.num = num;
	}
	}

  1. 添加几个其他商品
package entity;

import java.util.ArrayList;

public class OtherCom {
	public static void init(ArrayList<ComInfor> arry) {
		//创建第一个商品
		ComInfor f1 = new ComInfor();
		f1.ID=1000;
		f1.name="笔记本";
		f1.price=10.0;
		//创建第二个商品
		ComInfor f2 = new ComInfor();
		f2.ID=1001;
	    f2.name="西红柿";
	    f2.price=2.0;
	    //创建第3个商品
	    ComInfor f3 = new ComInfor();
	    f3.ID=1002;
	    f3.name="辣条";
	    f3.price=5.0;
	    arry.add(f1);
	    arry.add(f2);
	    arry.add(f3);
	}
}

3.实现添加功能

package methods;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Scanner;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
import com.mysql.jdbc.Statement;

import entity.ComInfor;
import test04.ConDB;

public class Addation {
	public static void add(ArrayList<ComInfor> arry) {
		System.out.println("选择的是添加商品功能");
		Scanner in = new Scanner(System.in);
		System.out.println("输出商品编号ID");
		int ID = in.nextInt();
		System.out.println("输入商品单价");
		double price = in.nextDouble();
		System.out.println("输入商品名称");
		String name = in.next();
		ConDB con=new ConDB();
		String sql="insert shangpin values("+ID+",\""+price+"\""+",\""+name+"\")";
		
		int i=con.doUpdate(sql);
		if(i!=0){
			System.out.println("添加成功");
		}else{
			System.out.println("添加失败");
		}
		// 创建商品对象
//		ComInfor f = new ComInfor();
//		f.setID(ID);
//		f.setPrice(price);
//		f.setName(name);
		// 添加到集合
		//arry.add(f);
		
	}
}

4.实现删除功能

package methods;

import java.util.ArrayList;
import java.util.Scanner;

import entity.ComInfor;
import test04.ConDB;

public class Delete {
	public static void del(ArrayList<ComInfor> arry) {
		System.out.println();
		System.err.println("选择的是删除功能");
		System.out.println("输出要删除的商品编号ID");
		Scanner in = new Scanner(System.in);int id = in.nextInt();
		ConDB con=new ConDB();
		String sql="delete from shangpin where ID="+id;
		
		int i=con.doUpdate(sql);
		if(i!=0){
			System.out.println("删除成功");
		}else{
			System.out.println("删除失败");
		}
//		
//		// 遍历集合
//		for (int i = 0; i < arry.size(); i++) {
//			ComInfor f = arry.get(i);
//			// 比对输入的与已经存在的
//			if (f.getID() == id) {
//				arry.remove(f);
//				System.out.println("删除成功");
//				// 当遍历相等的时候直接结束方法
//				return;
//			}
//			// 如果if不执行则 for循环结束打印
//			System.out.println("不存在此商品");
//		}
	}
}

5.实现修改功能

package methods;

import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.Scanner;

import entity.ComInfor;
import test04.ConDB;

public class Update {
	public static void update(ArrayList<ComInfor> arry) {
		System.out.println();
		System.out.println("选的是修改功能");
		System.out.println("输入你要修改的商品编号ID");
		Scanner in = new Scanner(System.in);
		int id = in.nextInt();
		
		ConDB con=new ConDB();
		String sql="select ID,price,name from shangpin where ID="+id;
		ResultSet rs=con.doQuery(sql);
		try {
			rs.last();int count=rs.getRow();
			String[][] s=new String[count][3];
			int i=0;rs.beforeFirst();
			while(rs.next()){
				s[i][0]=rs.getString("ID");
				s[i][1]=rs.getString("price");
				s[i][2]=rs.getString("name");
				i++;
			}
			System.out.println("商品编号         商品单价           商品名称");
			int n=count;
			for(int j=0;j<n;j++){
				System.out.println(s[j][0]+"          "+s[j][1]+"         "+s[j][2]);
			}
		} catch (Exception e) {
			// TODO: handle exception
			System.out.println("查无此商品");
		}
		System.out.println("输入新的商品编号");
		int newid=in.nextInt();
		System.out.println("输入商品单价");
		double newprice = in.nextDouble();
		System.out.println("输入商品名称");
		String newname=in.next();
		
		sql="update shangpin set ID="+newid+",price=\""+newprice+"\""+",name=\""+newname+"\" where ID="+id;
		
		int i=con.doUpdate(sql);
		if(i!=0){
			System.out.println("修改成功");
		}else{
			System.out.println("修改失败");
		}
		// 遍历集合
//		for (int i = 0; i < arry.size(); i++) {
//			ComInfor f = arry.get(i);
//			if (f.getID() == id) {
//				System.out.println("输入新的商品编号");
//				f.setID(in.nextInt());
//				System.out.println("输入商品单价");
//				f.setPrice(in.nextDouble());
//				System.out.println("输入商品名称");
//				f.setName(in.next());
//				System.out.println("修改成功");
//				return;
//			}
//		}
//		System.out.println("不存该商品");
	}
}

6.实现查找功能

package methods;

import java.sql.ResultSet;
import java.util.ArrayList;

import entity.ComInfor;
import test04.ConDB;

public class Examine{
         //查看方法
	public static void show(ArrayList<ComInfor> arry){
		ConDB con=new ConDB();
		String sql="select ID,price,name from shangpin";
		ResultSet rs=con.doQuery(sql);
		try {
			rs.last();int count=rs.getRow();
			String[][] s=new String[count][3];
			int i=0;rs.beforeFirst();
			while(rs.next()){
				s[i][0]=rs.getString("ID");
				s[i][1]=rs.getString("price");
				s[i][2]=rs.getString("name");
				i++;
			}
			System.out.println("商品编号         商品单价           商品名称");
			int n=count;
			for(int j=0;j<n;j++){
				System.out.println(s[j][0]+"          "+s[j][1]+"         "+s[j][2]);
			}
		} catch (Exception e) {
			// TODO: handle exception
		}
		 //遍历集合
//		 for(int i=0;i<arry.size();i++){
//			 ComInfor f = arry.get(i);
//			 System.out.println(f.getID()+"          "+f.getPrice()+"         "+f.getName());
//		 }
	}
}

7.对控制台主页面进行描述,这里可说明一下,还可以使用小窗口进行显示,这里只用最基本的。

package servlet;

public class Menu {
	public static void mainMenu() {
		System.out.println();
		System.out.println("==========超市管理系统===========");
		System.out.println("1: 货物清单 2: 增加货物 3: 删除货物 4: 修改货物  5 退出");
		System.out.println("输出你要操作的编号:");
	}
}

8.超市管理系统的启动类

package servlet;

import java.util.ArrayList;
import java.util.Scanner;

import entity.ComInfor;
import entity.OtherCom;
import methods.Addation;
import methods.Delete;
import methods.Examine;
import methods.Update;

/*

 * 超市管理系统的启动类

 * 实现基本功能

 *    增加商品

 *    删除商品

 *    修改商品

 *    查询商品

 */

public class Shop {
	public static void main(String[] args) {
		ArrayList<ComInfor> arry = new ArrayList<ComInfor>();
		OtherCom.init(arry);
		// 死循环操作
		while (true) {
			Menu.mainMenu();
			Scanner s = new Scanner(System.in);
			int in = s.nextInt();
			switch (in) {
			case 1:
				Examine.show(arry);
				break;
			case 2:
				Addation.add(arry);
				break;
			case 3:
				Delete.del(arry);
				break;
			case 4:
				Update.update(arry);
				break;
			case 5:
				return;
			default:
				System.err.println("输入的序号不存在");//报错专用输出
				break;

			}
		}
	}
}

9.连接mysql的相关代码

package test04;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
//数据库连接
public class ConDB {
	static Connection conn = null;
	Statement stmt = null;
	ResultSet rs = null;

	public static Connection getConnection() {
		try {
			Class.forName("com.mysql.jdbc.Driver");
			conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/shop", "root", "1234");
		} catch (ClassNotFoundException e) {
			// TODO: handle exception
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO: handle exception
			e.printStackTrace();
		}
		return conn;
	}

	public ResultSet doQuery(String sql) {
		try {
			conn = ConDB.getConnection();
			stmt = conn.createStatement();
			rs = stmt.executeQuery(sql);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return rs;
	}

	public int doUpdate(String sql) {
		int count =  	0;
		try {
			conn = ConDB.getConnection();
			stmt = conn.createStatement();
			count = stmt.executeUpdate(sql);
		} catch (SQLException e) {
			// TODO: handle exception
			e.printStackTrace();
		}
		return count;
	}

	public void closeConnection() {
		if (rs != null) {
			try {
				rs.close();
			} catch (SQLException e) {
				// TODO: handle exception
				e.printStackTrace();
			}
		}
		if (stmt != null) {
			try {
				stmt.close();
			} catch (SQLException e) {
				// TODO: handle exception
				e.printStackTrace();
			}
		}
		if (conn != null) {
			try {
				conn.close();
			} catch (SQLException e) {
				// TODO: handle exception
				e.printStackTrace();
			}
		}
	}

}

将其启用后做成一个简单的小项目,代码十分简易,部分会出错部分并未进行修改,只提供简单思路。

  • 30
    点赞
  • 164
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

澈浪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值