基于Eclipse和MySQL实现的网上书店管理系统

管理系统并未使用任何支付接口 ,也没有实现支付的功能。但是应付于课程设计应该足够 ,此管理系统是我在大学时写的课设,当时敲代码敲了一个多星期才写出来,现在放着上面就当回忆吧。

系统总体功能分析

用户可以进行注册登陆系统,在用户的界面上,用户可以进行查看图店里的图书类别和所在类别下的图书,根据自己的需求可在订单那一栏添加订单购买自己喜欢的图书;
管理员可以用自己的账号登录到管理员的界面上对书店进行管理,管理员可实现对图书的添加,修改,查询,和删除功能,可以查看用户的到订单,修改和维护订单。添家客户的信息用以保存系统中用于统计。

系统总体设计

基于Eclipse和MySQL实现的网上书店管理系统_第1张图片

功能需求分析

在构造系统时,首先从需求出发构造数据库,然后再由数据库表结合需求划分系
统功能模块。这样,就把一个大的系统解成了几个小系统。这里把系统划分为了三个
模块:用户登录模块,管理员模块,用户购买模块。模块分别能够实现以下功能
(1)登录模块,实现登录功能,注册功能
(2)管理员模块,实现管理员对图书的添加修改和删除功能,对订单的添加修改和删除功能。
(3)用户购买模块,实现用户在界面上对图书的查看搜索,以及对自己喜欢的图书下订单。

系统E-R图

基于Eclipse和MySQL实现的网上书店管理系统_第2张图片
管理员信息表
基于Eclipse和MySQL实现的网上书店管理系统_第3张图片
图书信息表
基于Eclipse和MySQL实现的网上书店管理系统_第4张图片
订单信息表
基于Eclipse和MySQL实现的网上书店管理系统_第5张图片
5.买家信息表
基于Eclipse和MySQL实现的网上书店管理系统_第6张图片
登陆界面
基于Eclipse和MySQL实现的网上书店管理系统_第7张图片
用户登陆及注册界面
基于Eclipse和MySQL实现的网上书店管理系统_第8张图片
图书信息查询
基于Eclipse和MySQL实现的网上书店管理系统_第9张图片
订单添加界面
基于Eclipse和MySQL实现的网上书店管理系统_第10张图片
管理员登陆界面
基于Eclipse和MySQL实现的网上书店管理系统_第11张图片
管理员对图书种类的维护
基于Eclipse和MySQL实现的网上书店管理系统_第12张图片
管理员添加图书
基于Eclipse和MySQL实现的网上书店管理系统_第13张图片
管理员查询和维护图书
基于Eclipse和MySQL实现的网上书店管理系统_第14张图片
管理员查看订单
基于Eclipse和MySQL实现的网上书店管理系统_第15张图片
基于Eclipse和MySQL实现的网上书店管理系统_第16张图片
买家信息维护
基于Eclipse和MySQL实现的网上书店管理系统_第17张图片
登陆相关功能代码

private void loginActionPerformed(ActionEvent evt) {
    	 String userName=this.userNameTxt.getText();
 		String password=new String(this.passwordTxt.getPassword());
 		if(StringUtil.isEmpty(userName)){
 			JOptionPane.showMessageDialog(null, "用户名不能为空!");
 			return;
 		}
 		if(StringUtil.isEmpty(password)){
 			JOptionPane.showMessageDialog(null, "密码不能为空!");
 			return;
 		}
 		CUser cuser=new CUser(userName,password);
 		Connection con=null;
 		try {
 			con=dbUtil.getCon();
 			CUser currentCUser =cuserDao.login(con,cuser);
 			if(currentCUser!=null){
				dispose();
				new CMainFrm().setVisible(true);
			}else{
				JOptionPane.showMessageDialog(null, "用户名或者密码错误!");
			}
 		
		} catch (Exception e) {
			// TODO 自动生成的 catch 块
			e.printStackTrace();
		}

注册相关功能代码

private void registrationActionPerformed(ActionEvent evt) {
		String userName=this.userNameTxt.getText();
		String password=this.passwordTxt.getText();
		if(StringUtil.isEmpty(userName)){
			JOptionPane.showMessageDialog(null, "用户名不能为空!");
			return;
		}
		if(StringUtil.isEmpty(password)){
			JOptionPane.showMessageDialog(null, "密码不能为空!");
			return;
		}
		Registration registration= new Registration(userName,password);
		
		Connection con= null;
		try {
			con=dbUtil.getCon();
			int n= registrationDao.add(con, registration);
			if(n==1){
				JOptionPane.showMessageDialog(null, "注册成功!");
				resetValue();
			}else{
				JOptionPane.showMessageDialog(null, "注册失败!");
			}
			
		}catch(Exception e) {
			
		}finally {
			try {
				dbUtil.closeCon(con);
			} catch (Exception e) {
				// TODO 自动生成的 catch 块
				e.printStackTrace();
				JOptionPane.showMessageDialog(null, "注册失败!");
			}
		}
	}

图书添加事件处理

private void bookAddActionPerformed(ActionEvent evt) {
		String bookName=this.bookNameTxt.getText();
		String author=this.authorTxt.getText();
		String price=this.priceTxt.getText();
		String bookDesc=this.bookDescTxt.getText();
		
		if(StringUtil.isEmpty(bookName)){
			JOptionPane.showMessageDialog(null, "图书名称不能为空!");
			return;
		}
		if(StringUtil.isEmpty(author)){
			JOptionPane.showMessageDialog(null, "图书作者不能为空!");
			return;
		}
		if(StringUtil.isEmpty(price)){
			JOptionPane.showMessageDialog(null, "图书价格不能为空!");
			return;
}
		String sex="";
		if(manJrb.isSelected()){
			sex="男";
		}else if(femaleJrb.isSelected()){
			sex="女";
		}
	    BookType bookType=(BookType) bookTypeJcb.getSelectedItem();
		int bookTypeId=bookType.getId();
		Book book=new Book(bookName,author, sex, Float.parseFloat(price) , bookTypeId,  bookDesc);
		Connection con=null;
		try{
			con=dbUtil.getCon();
			int addNum=bookDao.add(con, book);
			if(addNum==1){
				JOptionPane.showMessageDialog(null, "图书添加成功!");
				resetValue();
			}else{
				JOptionPane.showMessageDialog(null, "图书添加失败!");
			}
		}catch(Exception e){
			e.printStackTrace();
			JOptionPane.showMessageDialog(null, "图书添加失败!");
		}finally{
			try {
				dbUtil.closeCon(con);
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}

买家信息搜索事件处理

protected void consumerSerachActionPerformed(ActionEvent evt) {
		String s_consumerName= this.s_consumerNameTxt.getText();
		Consumer consumer=new Consumer();
		consumer.setConsumerName(s_consumerName);
		this.fillTable(consumer);
	}

	private void fillTable(Consumer consumer){
		DefaultTableModel dtm=(DefaultTableModel) consumerTable.getModel();
		dtm.setRowCount(0); // 设置成0行
		Connection con=null;
		try{
			con=dbUtil.getCon();
			ResultSet rs=consumerDao.list(con, consumer);
			while(rs.next()){
				Vector v=new Vector();
				v.add(rs.getString("id"));
				v.add(rs.getString("consumerName"));
				v.add(rs.getString("sex"));
				v.add(rs.getString("age"));
				v.add(rs.getString("number"));
				v.add(rs.getString("bookName"));
				dtm.addRow(v);
			}
		}catch(Exception e){
			e.printStackTrace();
		}finally {
			try {
				dbUtil.closeCon(con);
			} catch (Exception e) {
				// TODO 自动生成的 catch 块
				e.printStackTrace();
			}
		}
	}

买家信息修改事件处理

private void consumerUpdateActionEvet(ActionEvent evt) {
		String id=idTxt.getText();
		String consumerName=consumerNameTxt.getText();
		String sex=sexTxt.getText();
		String age=ageTxt.getText();
		String number=numberTxt.getText();
		String bookName=bookNameTxt.getText();
		if(StringUtil.isEmpty(id)){
			JOptionPane.showMessageDialog(null, "请选择要修改的记录");
			return;
		}
		if(StringUtil.isEmpty(consumerName)){
			JOptionPane.showMessageDialog(null, "购书者名称不能为空");
			return;
		}
		if(StringUtil.isEmpty(age)){
			JOptionPane.showMessageDialog(null, "年龄不能为空");
			return;
		}
		if(StringUtil.isEmpty(number)){
			JOptionPane.showMessageDialog(null, "联系方式不能为空");
			return;
		}
		if(StringUtil.isEmpty(bookName)){
			JOptionPane.showMessageDialog(null, "图书名称不能为空");
			return;
		}
		if(StringUtil.isEmpty(sex)){
			JOptionPane.showMessageDialog(null, "性别不能为空");
			return;
		}
		Consumer consumer=new Consumer(Integer.parseInt(id),consumerName,sex,age,number,bookName);
		Connection con=null;
		try {
			con=dbUtil.getCon();
			con=dbUtil.getCon();
			int modifyNum=consumerDao.update(con, consumer);
			if(modifyNum==1){
				JOptionPane.showMessageDialog(null, "修改成功");
				this.resetValue();
				this.fillTable(new Consumer());
			}else{
				JOptionPane.showMessageDialog(null, "修改失败");
			}
		
		}catch(Exception e) {
			e.printStackTrace();
			JOptionPane.showMessageDialog(null, "修改失败");
		}finally {
			try {
				dbUtil.closeCon(con);
			} catch (Exception e) {
				// TODO 自动生成的 catch 块
				e.printStackTrace();
				
			}
		}
		}

你可能感兴趣的:(java,mysql,数据库,后端)