基于Java的项目-叮当书城(附:源码+课件)

项目描述

网上书城是一种全新的电子商务模式,人们可以通过网络和计算机实现购买图书的需求。这种全新的消费方式为商家带来了销售及宣传的新思路。商家可通过网上书城发布现有图书的信息,同时处理消费者的订单,与消费者沟通交流,最后安排发货。不仅有利于消费者节省时间,也为商家拓展了销售渠道。

系统架构设计

本次研究设计的网上书城使用了JAVA语言以及JAVAweb技术,并利用MYSQL数据库开发,结合SSH框架技术实现了购书的新方式。主要分成前台和后台这两部分,前台部分的主要功能包括用户注册登录、搜索商品、购买商品和个人管理中心;后台部分涵盖了订单管理、商品管理、客户管理和账号管理四个功能模块。  

系统功能实现:

系统分为两个个角色管理 :前台用户和后台管理员

系统登陆与注册模块:

用户的首页:

用户:商品分类:可以通过书名 类别搜索自己想要的书本

  • 21
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 43
    评论
package user; import java.sql.*; import java.util.*; import java.util.Date; import java.sql.PreparedStatement; import com.ConnDB; import java.sql.*; import java.util.*; import com.ConnDB; public class UserDB extends ConnDB{ private ArrayList user; public UserDB () throws Exception { } public boolean userExist(String username){ boolean occupied=true; try { ConnDB.initialize(); // create database connection PreparedStatement preparedStatement = conn.prepareStatement ( "select userid from Buser where username=?"); preparedStatement.setString (1, username); ResultSet resultSet = preparedStatement.executeQuery (); if(!resultSet.next()) occupied=false; preparedStatement.close (); ConnDB.terminate(); } catch(SQLException e){ e.printStackTrace(); ConnDB.terminate(); } return occupied; } public boolean isValidUser (String username, String password) { boolean isValid=false; try { ConnDB.initialize(); // create database connection PreparedStatement preparedStatement = conn.prepareStatement ( "SELECT username, password FROM Buser WHERE username=? and password=?"); preparedStatement.setString (1, username); preparedStatement.setString (2, password); ResultSet resultSet = preparedStatement.executeQuery (); if (resultSet.next ()) { isValid=true; preparedStatement.close (); ConnDB.terminate(); } else { preparedStatement.close (); ConnDB.terminate(); //return isValid; } } catch (SQLException e) { ConnDB.terminate(); //return isValid; } return isValid; } public boolean find(String key) { boolean gotIt=false; try { ConnDB.initialize(); // create database connection PreparedStatement preparedStatement = conn.prepareStatement ( "SELECT username, password FROM Buser WHERE username = ?"); preparedStatement.setString (1, key); ResultSet resultSet = preparedStatement.executeQuery (); if (resultSet.next ()) { gotIt=true; preparedStatement.close (); ConnDB.terminate(); } else { preparedStatement.close (); ConnDB.terminate(); //return isValid; } } catch (SQLException e) { ConnDB.terminate(); //return gotIt; } return gotIt; } public User getUser (int id) { try { ConnDB.initialize(); // create database connection PreparedStatement preparedStatement = conn.prepareStatement ( "SELECT userid, username, rname, password, email, address, postdate, tel " + "FROM Buser WHERE userId = ?"); preparedStatement.setInt (1, id); ResultSet resultSet = preparedStatement.executeQuery (); if (resultSet.next ()) { User users = new User ( resultSet.getInt (1), resultSet.getString (2), resultSet.getString (3), resultSet.getString (4), resultSet.getString (5), resultSet.getString (6), resultSet.getString (7), resultSet.getString (8) ); preparedStatement.close (); ConnDB.terminate(); return users; } else { preparedStatement.close (); ConnDB.terminate(); return null; } } catch (SQLException e) { ConnDB.terminate(); return null; } } public User getUser (String username) { try { ConnDB.initialize(); // create database connection PreparedStatement preparedStatement = conn.prepareStatement ( "SELECT userid, username, rname, password, email, address, postdate, tel " + "FROM Buser WHERE username = ?"); preparedStatement.setString (1, username); ResultSet resultSet = preparedStatement.executeQuery (); if (resultSet.next ()) { User users = new User ( resultSet.getInt (1), resultSet.getString (2), resultSet.getString (3), resultSet.getString (4), resultSet.getString (5), resultSet.getString (6), resultSet.getString (7), resultSet.getString (8) ); preparedStatement.close (); ConnDB.terminate(); return users; } else { preparedStatement.close (); ConnDB.terminate(); return null; } } catch (SQLException e) { ConnDB.terminate(); return null; } } public int addUsers (User users) { System.out.println("**"); int rowsAffected = 0; try { ConnDB.initialize(); // create database connection PreparedStatement preparedStatement = conn.prepareStatement ( "INSERT INTO Buser (username, rname, password, email, address, postdate, tel) " + "VALUES (?, ?, ?, ?, ?, ?, ?)"); preparedStatement.setString (1, users.getUsername ()); preparedStatement.setString (2, users.getRname ()); preparedStatement.setString (3, users.getPassword()); preparedStatement.setString (4, users.getEmail()); preparedStatement.setString (5, users.getAddress()); preparedStatement.setString (6, users.getPostdate()); preparedStatement.setString (7, users.getTel()); //判断是否重复添加 if(find(users.getUsername ())){ rowsAffected =2; System.out.println("exist username"); } else{ rowsAffected = preparedStatement.executeUpdate (); System.out.println(rowsAffected + "add"); } preparedStatement.close (); ConnDB.terminate(); } catch (SQLException e) { ConnDB.terminate(); return 0; } return rowsAffected; } public int deleteUser (int id) { int rowsAffected = 0; try { ConnDB.initialize(); // create database connection PreparedStatement preparedStatement = conn.prepareStatement ("DELETE FROM Buser WHERE userid = ?"); preparedStatement.setInt (1, id); rowsAffected = preparedStatement.executeUpdate (); preparedStatement.close (); ConnDB.terminate(); } catch (SQLException e) { ConnDB.terminate(); return 0; } return rowsAffected; } public int modifyUser (User users) { int rowsAffected = 0; try { ConnDB.initialize(); // create database connection PreparedStatement preparedStatement = conn.prepareStatement ( "UPDATE Buser SET username=?, rname=?, password=?, email=?, address=?, postdate=?, tel=? " + "WHERE userid =?"); preparedStatement.setString (1, users.getUsername ()); preparedStatement.setString (2, users.getRname ()); preparedStatement.setString (3, users.getPassword()); preparedStatement.setString (4, users.getEmail()); preparedStatement.setString (5, users.getAddress()); preparedStatement.setString (6, users.getPostdate()); preparedStatement.setString (7, users.getTel()); preparedStatement.setInt (8, users.getId ()); rowsAffected = preparedStatement.executeUpdate (); preparedStatement.close (); ConnDB.terminate(); } catch (SQLException e) { ConnDB.terminate(); return 0; } return rowsAffected; } public Collection getUser () { user = new ArrayList (); try { ConnDB.initialize(); // create database connection PreparedStatement preparedStatement = conn.prepareStatement ( "SELECT userid, username, rname, password, email, address, postdate, tel " + "FROM Buser"); ResultSet resultSet = preparedStatement.executeQuery (); while (resultSet.next ()) { User users = new User ( resultSet.getInt (1), resultSet.getString (2), resultSet.getString (3), resultSet.getString (4), resultSet.getString (5), resultSet.getString (6), resultSet.getString (7), resultSet.getString (8) ); user.add(users); } preparedStatement.close (); } catch (SQLException e) { return null; } ConnDB.terminate(); //Collections.sort(user); return user; } public boolean isModify(String key,int id) { boolean modifyIt=false; try { ConnDB.initialize(); // create database connection PreparedStatement preparedStatement = conn.prepareStatement ( "SELECT userid FROM Buser WHERE username = ? and userd <> ?"); preparedStatement.setString (1, key); preparedStatement.setInt (2, id); ResultSet resultSet = preparedStatement.executeQuery (); if (resultSet.next ()) { modifyIt=true; preparedStatement.close (); ConnDB.terminate(); } else { preparedStatement.close (); ConnDB.terminate(); //return isValid; } } catch (SQLException e) { ConnDB.terminate(); //return gotIt; } return modifyIt; } }
基于Java叮当书城项目的选题意义主要体现在以下几个方面。 首先,Java作为一门面向对象的编程语言,具有跨平台性和高度灵活性,能够满足叮当书城项目在不同平台上运行的需求。Java具有强大的API支持,丰富的第三方开源库和框架,能够提高开发效率和项目的可维护性。 其次,叮当书城项目的选题对于促进阅读与知识传播具有积极的意义。通过搭建一个在线书城平台,用户可以方便地浏览和购买各类图书,拓宽知识面和提升个人素质。叮当书城可以为读者提供大量的图书推荐、评价等功能,增强用户的阅读体验,同时也为图书出版商和作者提供了一个更广阔的销售平台。 另外,基于Java叮当书城项目可以为学习Java编程的开发者提供一个实践的机会。通过参与项目的开发,可以锻炼自己的编程能力和解决问题的能力。同时,在项目中学习和使用Java的相关技术和工具,如Spring框架、Hibernate等,可以提升自己的技术水平和就业竞争力。 此外,基于Java叮当书城项目也能够为图书行业带来创新和变革。通过引入互联网和移动技术,可以使图书销售更加便捷和高效,满足人们对于快速获取知识的需求。项目还可以结合大数据和人工智能等先进技术,通过数据分析和个性化推荐等功能,提供更精准的图书推荐和服务,提高读者的满意度和忠诚度。 综上所述,基于Java叮当书城项目的选题意义十分重要。它不仅能够为阅读者提供方便和愉快的图书购买体验,促进知识传播,还能够为学习Java编程的开发者提供实践机会,推动图书行业的创新和进步。
评论 43
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值