简单超市管理系统项目学习

最近花两天的时间单独做了一个超市收银系统,虽然比较简单,但感触还是颇深的!

刚开始写的时候,一脸懵逼,如果不是别人说过,我都不知道eclipse可以编写界面的,

下面开始正题:我所遇到的一些坑

1

使用eclipse编写界面:

需要导入java.swing和java.awt等jar包,导入成功之后

文件-->新建-->其他-->

点击确定之后,出现这样的界面


选择Application Window,然后选择下一步,填写名称之后,就会跳出视图编辑界面了,选择左下角的“design”,这样就可以拖控件来编辑界面了!!!

2

下面是我链接SQL并执行插入操作以及查询操作


public class Mysql {
	static String driver = "com.mysql.jdbc.Driver";
	// URL指向要访问的数据库名world
	static String url = "jdbc:mysql://127.0.0.1:3306/sale";
	// MySQL配置时的用户名
	static String user = "root";
	// MySQL配置时的密码
	static String password = "123456";
	public static void main(String[] args) {

		try {
			// 加载驱动程序
			Class.forName(driver);
			// 连续数据库
			Connection conn = DriverManager.getConnection(url, user, password);
			if (!conn.isClosed())
				System.out.println("Succeeded connecting to the Database!");
			// statement用来执行SQL语句
			Statement statement = conn.createStatement();
			// 要执行的SQL语句
			String sql = "INSERT INTO saledetail(product_id,product_name,product_price,product_mount,product_time,product_saler)"+"VALUES(201311200007,'apple',3.00,20,'2017-12-18 19:15:00','cj')";
			// 结果集
//			ResultSet rs = statement.executeQuery(sql);
//			while (rs.next()) {
//				bean.setID(rs.getInt("Cno"));
//				bean.setCname(rs.getString("Cname"));
//				bean.setCpno(rs.getString("Cpno"));
//				bean.setCcredit(rs.getString("Ccredit"));
//				System.out.printf(bean.toString());
//			}
//			rs.close();
			statement.executeUpdate(sql);
			statement.close();
			conn.close();
		} catch (ClassNotFoundException e) {
			System.out.println("Sorry,can`t find the Driver!");
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

package model.dao;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import model.vo.User;
import util.DBManager;

/*
 * dao即data access object,用于操作的封装
 */
public class UserDao {
	/*
	 * 该方法实现按各个字段的组合查询,,各个查询参数存放于user对象中,并保存在list对象中
	 */
	public List query(User user){
		List list=new ArrayList();
		/*
		 * 
		 */
		/*
		 * 组合查询生成的动态sql语句
		 */
		String sql="select * from tuser where 1=1 ";
		if(user.getUserName()!=null){
			sql+=" and userName='"+user.getUserName()+"' ";
		}
		if(user.getPassword()!=null){
			sql+=" and password='"+user.getPassword()+"' ";
		}
		if(user.getChrName()!=null){
			sql+=" and chrName='"+user.getChrName()+"' ";
		}
		if(user.getRoleName()!=null){
			sql+=" and roleName='"+user.getRoleName()+"' ";
		}
		
		//System.out.println(sql);
		
		DBManager db=new DBManager();     //在DBManager中已经实现了数据库的链接
		ResultSet rs=null;
		try {
			rs=db.executeQuery(sql);
			while(rs.next()){
				User user1=new User();
				user1.setUserName(rs.getString("userName"));
				user1.setPassword(rs.getString("password"));
				user1.setChrName(rs.getString("chrName"));
				user1.setRoleName(rs.getString("roleName"));
				//System.out.println(" aaaaaaaa"+user1);
				list.add(user1);
			}
			
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		finally{
			try {
				if(rs!=null){
					rs.close();
				}
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			db.close();
		}
		return list;
	}
	
	public boolean add(User user){
		boolean ret=false;
		/*
		 * 
		 */
		
		return ret;
	}
	
	/*
	 * 用户登陆
	 */
	public boolean checkUser(User  user){
		boolean ret=false;
		List list=query(user);
		//System.out.println(list.get(0).getPassword());
		if(list.size()>0){
			ret=true;
		}
		return ret;
	}
}

在链接数据库时候,有一次突然出现了   “不能上到mysql服务器连接127.0.0.1”,详细解决方式,请看“使用360杀毒后,360将MySQL的注册表当作病毒给kill掉了,导致不能上到mysql服务器连接127.0.0.1问题的解决办法”。

3:在使用String的equils()方法时候,出现了这样一个奇怪的问题:两个字符串

a:2017-12-13 

b:2017-12-13

a,b这两个字符串明明相同,但是使用equils()方法时,一直返回的事false。看了半天,才发现是a字符串后面多了一个“ ”!!!

为了解决这个问题,String类中提供了这样一个方法:trim()方法,此方法用于去掉字符串首位的空格字符。在一般比较字符串时候都会用到此方法。


下面介绍一下这个项目中所用的知识:

1:eclipse界面的编写,2:链接数据库并执行操作:(插入和查询操作)3:读取数据库中的数据后结合组件对这些数据进行操作  

源码地址:https://gitee.com/cj1024_0215/JianDanChaoShiShouYinXiTong


你可能感兴趣的:(简单超市管理系统项目学习)