91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java網上書店管理系統如何實現

發布時間:2022-06-08 09:11:09 來源:億速云 閱讀:195 作者:iii 欄目:開發技術

今天小編給大家分享一下Java網上書店管理系統如何實現的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

    1.效果展示

    Java網上書店管理系統如何實現

    Java網上書店管理系統如何實現

    2.需求功能

    用戶可以進行注冊登陸系統,在用戶的界面上,其可以進行查看網上書店里的圖書類別和所在類別下的圖書,根據自己的需求可在訂單項目里添加訂單購買自己喜歡的圖書;

    管理員可以通過自己的賬號登錄到管理員系統對書店進行管理,其可實現對圖書的添加,修改,查詢,和刪除功能,可以查看用戶的訂單,修改和維護訂單。添家客戶的信息用以統計數據。

    在構造系統時,首先從需求出發構造數據庫,然后再由數據庫表結合需求劃分系統功能模塊。這樣,就把一個大的系統解成了幾個小系統。這里把系統劃分為了三個模塊:用戶登錄模塊,管理員模塊,用戶購買模塊。模塊分別能夠實現以下功能:

    • 登錄模塊:實現登錄,注冊功能。

    • 管理員模塊:實現對圖書的添加修改和刪除以及對訂單的添加修改和刪除功能。

    • 用戶購買模塊:實現對圖書的查找以及對所需圖書的下單功能。

    3.系統總體設計及部分代碼

    Java網上書店管理系統如何實現

    3.1登錄模塊設計

    用戶正確輸入用戶名和密碼,連接到數據庫,登錄成功!

    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();
    		}

    3.2新用戶的注冊

    此模塊的核心是創建實例化對象。

    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, "注冊失敗!");
    			}
    		}
    	}

    3.3圖書添加模塊

    管理員在此界面上可對系統里的圖書進行查詢修改和刪除。

    public static void main(String[] args) {
            EventQueue.invokeLater(new Runnable() {
                public void run() {
                    try {
                        BookAddInterFrm frame = new BookAddInterFrm();
                        frame.setVisible(true);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            });
        }

    3.4圖書添加事件

    此界面主要實現圖書的添加功能。

    /**
    *圖書添加事件
    */
    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();
    			}
    		}
    	}
    
    	/**
    	 * 重置表單
    	 */
    	private void resetValue(){
    		this.bookNameTxt.setText("");
    		this.authorTxt.setText("");
    		this.priceTxt.setText("");
    		this.manJrb.setSelected(true);
    		this.bookDescTxt.setText("");
    		if(this.bookTypeJcb.getItemCount()>0){
    			this.bookTypeJcb.setSelectedIndex(0);
    		}
    	}
    
    	/**
    	 * 初始化圖書類別下拉框
    	 */
    	private void fillBookType(){
    		Connection con=null;
    		BookType bookType=null;
    		try{
    			con=dbUtil.getCon();
    			ResultSet rs=bookTypeDao.list(con, new BookType());
    			while(rs.next()){
    				bookType=new BookType();
    				bookType.setId(rs.getInt("id"));
    				bookType.setBookTypeName(rs.getString("bookTypeName"));
    				this.bookTypeJcb.addItem(bookType);
    			}
    		}catch(Exception e){
    			e.printStackTrace();
    		}finally{
    
    		}
    	}
    }

    3.5買家信息維護

    此模塊主要用于對買家信息的查找和維護。

    	/**
    	 * 買家信息搜索事件處理
    	 */
    	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();
    
    			}
    		}
    	}

    3.6訂單管理模塊

    此模塊用于圖書訂單管理,查找,修改,刪除等功能的實現。

         /**
    	 * 訂單修改事件
    	 */
    	protected void orderUpdateActionPerformed(ActionEvent evt) {
    		String id=this.idTxt.getText();
    		if(StringUtil.isEmpty(id)){
    			JOptionPane.showMessageDialog(null, "請選擇要修改的記錄");
    			return;
    		}
    
    		String addressee=this.addresseeTxt.getText();
    		String number=this.numberTxt.getText();
    		String deliveryMent=this.deliveryMentTxt.getText();
    		String paymentMethod=this.paymentMethodTxt.getText();
    		String shippingAddress=this.shippingAddressTxt.getText();
    
    		if(StringUtil.isEmpty(addressee)){
    			JOptionPane.showMessageDialog(null, "收件人不能為空!");
    			return;
    		}
    
    		if(StringUtil.isEmpty(number)){
    			JOptionPane.showMessageDialog(null, "購買數量不能為空!");
    			return;
    		}
    
    		if(StringUtil.isEmpty(deliveryMent)){
    			JOptionPane.showMessageDialog(null, "運送方式不能為空!");
    			return;
    		}
    		if(StringUtil.isEmpty(paymentMethod)){
    			JOptionPane.showMessageDialog(null, "支付方式不能為空!");
    			return;
    		}
    		if(StringUtil.isEmpty(paymentMethod)){
    			JOptionPane.showMessageDialog(null, "收件地址不能為空!");
    			return;
    		}
    
    		Book book=(Book) this.bookNameJcb.getSelectedItem();
    		int bookId=book.getId();
    
    		Order order =new Order(Integer.parseInt(id), addressee, number, deliveryMent, paymentMethod, shippingAddress,
    				bookId);
    		Connection con =null;
    		try {
    			con=dbUtil.getCon();
    			int addNum=orderDao.update(con, order);
    			if(addNum==1) {
    				JOptionPane.showMessageDialog(null, "訂單修改成功!");
    				resetValue();
    				this.fillTable(new Order());
    			}else {
    				JOptionPane.showMessageDialog(null, "訂單修改失敗!");
    			}
    		}catch(Exception e) {
    			e.printStackTrace();
    		}finally {
    			try {
    				dbUtil.closeCon(con);
    			} catch (Exception e) {
    				// TODO 自動生成的 catch 塊
    				e.printStackTrace();
    				JOptionPane.showMessageDialog(null, "訂單添加失敗!");
    			}
    		}
    	}

    4.數據庫設計

    4.1系統數據庫設計

    使用sql語句查詢項目存儲數據用到的數據庫表格:

    Java網上書店管理系統如何實現

    1.管理員信息表

    列名數據類型長度主鍵非空自增
    IdInt11√√√
    usenamevarchar20   
    passwordvarchar20   

    2.圖書類型信息表

    列名數據類型長度主鍵非空自增






    idInt11√√√
    BookTypeNameVarchar20   
    bookTypeDesVarchar20   

    3.圖書信息表

    列名數據類型長度主鍵非空自增






    BooknameInt11√√√
    AuthorVarchar20   
    SexVarchar10   
    PriceFloat10   
    bookTypeIdInt11   
    bookDescVarchar1000   

    4.訂單信息表

    列名數據類型長度主鍵非空自增






    BuyidInt11√√√
    NameVarchar20   
    SexVarchar20   
    BuybooknamtelVarchar20   
    WayVarchar20   
    AddressVarchar20   

    5.買家信息表

    列名數據類型長度主鍵非空自增






    IdInt11√√√
    ConsumernameVarchar50   
    SexVarchar50   
    AgeVarchar50   
    NumberVarchar50   
    BooknameVarchar50   

    4.2系統E-R圖設計

    Java網上書店管理系統如何實現

    5.JDBC連接數據庫

    Java網上書店管理系統如何實現

    一定要安裝數據庫jdbc驅動包!

    代碼展示:

    package com.util;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    
    /**
     * 數據庫工具類
     */
    public class DbUtil {
    
    	private String jdbcName="com.mysql.cj.jdbc.Driver";      // 驅動名稱
    	數據庫連接地址   由于數據庫為最新版本  導致驅動名稱已改為com.mysql.cj.jdbc.Driver
    	//由于時區錯亂  執行命令給MySQL服務器設置時區為東八區    serverTimezone=GMT%2B8
    	private String dbUrl="jdbc:mysql://localhost:3306/db_book?serverTimezone=GMT%2B8";// 數據庫連接地址
    	private String dbuserName = "root";                         // 用戶名
    	private String dbpassWord = "abc123";                         // 密碼
    
    
    	/**
    	 * 獲取數據庫連接
    	 */
    	public Connection getCon()throws Exception{
    		Class.forName(jdbcName);
    		Connection con=DriverManager.getConnection(dbUrl, dbuserName, dbpassWord);
    		return con;
    	}
    
    	/**
    	 * 關閉數據庫連接
    	 */
    	public void closeCon(Connection con)throws Exception{
    		if(con!=null){
    			con.close();
    		}
    	}
    
    	public static void main(String[] args) {
    		DbUtil dbUtil=new DbUtil();
    		try {
    			dbUtil.getCon();
    			System.out.println("數據庫連接成功!");
    		} catch (Exception e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    			System.out.println("數據庫連接失敗");
    		}
    	}
    }

    以上就是“Java網上書店管理系統如何實現”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    新巴尔虎右旗| 安顺市| 砚山县| 库尔勒市| 呼和浩特市| 富阳市| 文化| 都昌县| 彰武县| 卓资县| 比如县| 西丰县| 濮阳市| 油尖旺区| 瓦房店市| 呼图壁县| 盐池县| 鹿泉市| 邳州市| 白山市| 长海县| 张北县| 平乡县| 民和| 微博| 延川县| 聂拉木县| 江达县| 稷山县| 霍林郭勒市| 凌海市| 阳西县| 邹城市| 铁力市| 西昌市| 福清市| 遵义县| 壶关县| 株洲市| 贵阳市| 昌平区|