• Java项目:JSP蛋糕甜品店管理系统


    作者主页:源码空间站2022

     简介:Java领域优质创作者、Java项目、学习资料、技术互助

    文末获取源码

    项目介绍

    本项目分为前后台,分为管理员与普通用户两种角色,管理员登录后台,普通用户登录前台;

    管理员角色包含以下功能:

    管理员登录,订单管理,客户管理,类目管理等功能。

    用户角色包含以下功能:
    首页,商品分类,热销和新品,注册新用户,用户登录,查看个人中心,购买商品,查看购物车,提交订单,模拟支付成功,查看订单等功能。

    环境需要

    1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
    2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
    3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
    4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 

    5.数据库:MySql 5.7版本;

    6.是否Maven项目:否;

    技术栈

    JSP+CSS+jQuery+bootstrap+mysql+servlet

    使用说明

    1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;

    2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;

    若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;

    3. 将项目中src/utils/DBUtil.java配置文件中的数据库配置改为自己的配置;
    4. 运行项目,输入localhost:8080/jsp_cakeshop/ 登录 注:tomcat中配置项目路径必须为jsp_cakeshop,否则会有异常;
    用户账号/密码:user/123456

    管理员账号/密码:admin/admin

    运行截图

    前台界面

     

    后台界面

    相关代码 

    GoodsDao

    1. package dao;
    2. import javafx.scene.control.ScrollPane;
    3. import model.Goods;
    4. import model.Recommend;
    5. import org.apache.commons.dbutils.*;
    6. import org.apache.commons.dbutils.handlers.*;
    7. import utils.DBUtil;
    8. import java.sql.SQLException;
    9. import java.util.*;
    10. public class GoodsDao {
    11. //select g.id,g.name,g.cover,g.price,t.name typename from recommend r,goods g,type t where type=2 and r.goods_id=g.id and g.type_id=t.id
    12. public List<Map<String,Object>> getGoodsList(int recommendType) throws SQLException {
    13. QueryRunner r = new QueryRunner(DBUtil.getDataSource());
    14. String sql="select g.id,g.name,g.cover,g.price,t.name typename from recommend r,goods g,type t where type=? and r.goods_id=g.id and g.type_id=t.id";
    15. return r.query(sql, new MapListHandler(),recommendType);
    16. }
    17. public Map<String,Object> getScrollGood()throws SQLException{
    18. QueryRunner r = new QueryRunner(DBUtil.getDataSource());
    19. String sql="select g.id,g.name,g.cover,g.price from recommend r,goods g where type=1 and r.goods_id=g.id";
    20. return r.query(sql, new MapHandler());
    21. }
    22. public List<Goods> selectGoodsByTypeID(int typeID,int pageNumber,int pageSize) throws SQLException {
    23. if(typeID==0)
    24. {
    25. String sql="select * from goods limit ? , ?";
    26. QueryRunner r=new QueryRunner(DBUtil.getDataSource());
    27. return r.query(sql,new BeanListHandler<Goods>(Goods.class),(pageNumber-1)*pageSize,pageSize);
    28. }
    29. else
    30. {
    31. String sql="select * from goods where type_id=? limit ? , ?";
    32. QueryRunner r=new QueryRunner(DBUtil.getDataSource());
    33. return r.query(sql,new BeanListHandler<Goods>(Goods.class),typeID,(pageNumber-1)*pageSize,pageSize);
    34. }
    35. }
    36. public int getCountOfGoodsByTypeID(int typeID) throws SQLException {
    37. String sql="";
    38. QueryRunner r=new QueryRunner(DBUtil.getDataSource());
    39. if(typeID==0)
    40. {
    41. sql="select count(*) from goods";
    42. return r.query(sql,new ScalarHandler<Long>()).intValue();
    43. }
    44. else
    45. {
    46. sql="select count(*) from goods where type_id=?";
    47. return r.query(sql,new ScalarHandler<Long>(),typeID).intValue();
    48. }
    49. }
    50. public List<Goods> selectGoodsbyRecommend(int type,int pageNumber,int pageSize) throws SQLException {
    51. QueryRunner r = new QueryRunner(DBUtil.getDataSource());
    52. if(type==0) {
    53. //当不添加推荐类型限制的时候
    54. String sql = " select g.id,g.name,g.cover,g.image1,g.image2,g.intro,g.price,g.stock,t.name typename from goods g,type t where g.type_id=t.id order by g.id limit ?,?";
    55. return r.query(sql, new BeanListHandler<Goods>(Goods.class),(pageNumber-1)*pageSize,pageSize);
    56. }
    57. String sql = " select g.id,g.name,g.cover,g.image1,g.image2,g.intro,g.price,g.stock,t.name typename from goods g,recommend r,type t where g.id=r.goods_id and g.type_id=t.id and r.type=? order by g.id limit ?,?";
    58. return r.query(sql, new BeanListHandler<Goods>(Goods.class),type,(pageNumber-1)*pageSize,pageSize);
    59. }
    60. public int getRecommendCountOfGoodsByTypeID(int type) throws SQLException {
    61. if(type==0)return getCountOfGoodsByTypeID(0);
    62. QueryRunner r = new QueryRunner(DBUtil.getDataSource());
    63. String sql = "select count(*) from recommend where type=?";
    64. return r.query(sql, new ScalarHandler<Long>(),type).intValue();
    65. }
    66. public Goods getGoodsById(int id) throws SQLException {
    67. QueryRunner r = new QueryRunner(DBUtil.getDataSource());
    68. String sql = "select g.id,g.name,g.cover,g.image1,g.image2,g.price,g.intro,g.stock,t.id typeid,t.name typename from goods g,type t where g.id = ? and g.type_id=t.id";
    69. return r.query(sql, new BeanHandler<Goods>(Goods.class),id);
    70. }
    71. public int getSearchCount(String keyword) throws SQLException {
    72. QueryRunner r = new QueryRunner(DBUtil.getDataSource());
    73. String sql = "select count(*) from goods where name like ?";
    74. return r.query(sql, new ScalarHandler<Long>(),"%"+keyword+"%").intValue();
    75. }
    76. public List<Goods> selectSearchGoods(String keyword, int pageNumber, int pageSize) throws SQLException{
    77. QueryRunner r = new QueryRunner(DBUtil.getDataSource());
    78. String sql = "select * from goods where name like ? limit ?,?";
    79. return r.query(sql, new BeanListHandler<Goods>(Goods.class),"%"+keyword+"%",(pageNumber-1)*pageSize,pageSize);
    80. }
    81. public boolean isScroll(Goods g) throws SQLException {
    82. return isRecommend(g, 1);
    83. }
    84. public boolean isHot(Goods g) throws SQLException {
    85. return isRecommend(g, 2);
    86. }
    87. public boolean isNew(Goods g) throws SQLException {
    88. return isRecommend(g, 3);
    89. }
    90. private boolean isRecommend(Goods g,int type) throws SQLException {
    91. QueryRunner r = new QueryRunner(DBUtil.getDataSource());
    92. String sql = "select * from recommend where type=? and goods_id=?";
    93. Recommend recommend = r.query(sql, new BeanHandler<Recommend>(Recommend.class),type,g.getId());
    94. if(recommend==null) {
    95. return false;
    96. }else {
    97. return true;
    98. }
    99. }
    100. public void addRecommend(int id,int type) throws SQLException {
    101. QueryRunner r = new QueryRunner(DBUtil.getDataSource());
    102. String sql = "insert into recommend(type,goods_id) values(?,?)";
    103. r.update(sql,type,id);
    104. }
    105. public void removeRecommend(int id,int type) throws SQLException {
    106. QueryRunner r = new QueryRunner(DBUtil.getDataSource());
    107. String sql = "delete from recommend where type=? and goods_id=?";
    108. r.update(sql,type,id);
    109. }
    110. public void insert(Goods g) throws SQLException {
    111. QueryRunner r = new QueryRunner(DBUtil.getDataSource());
    112. String sql = "insert into goods(name,cover,image1,image2,price,intro,stock,type_id) values(?,?,?,?,?,?,?,?)";
    113. r.update(sql,g.getName(),g.getCover(),g.getImage1(),g.getImage2(),g.getPrice(),g.getIntro(),g.getStock(),g.getType().getId());
    114. }
    115. public void update(Goods g) throws SQLException {
    116. QueryRunner r = new QueryRunner(DBUtil.getDataSource());
    117. String sql = "update goods set name=?,cover=?,image1=?,image2=?,price=?,intro=?,stock=?,type_id=? where id=?";
    118. r.update(sql,g.getName(),g.getCover(),g.getImage1(),g.getImage2(),g.getPrice(),g.getIntro(),g.getStock(),g.getType().getId(),g.getId());
    119. }
    120. public void delete(int id) throws SQLException {
    121. QueryRunner r = new QueryRunner(DBUtil.getDataSource());
    122. String sql = "delete from goods where id = ?";
    123. r.update(sql,id);
    124. }
    125. }
    126. package dao;
    127. import model.*;
    128. import org.apache.commons.dbutils.*;
    129. import utils.*;
    130. import java.math.*;
    131. import java.sql.*;
    132. import java.util.*;
    133. import org.apache.commons.dbutils.handlers.*;
    134. public class OrderDao {
    135. public void insertOrder(Connection con, Order order) throws SQLException {
    136. QueryRunner r = new QueryRunner();
    137. String sql = "insert into `order`(total,amount,status,paytype,name,phone,address,datetime,user_id) values(?,?,?,?,?,?,?,?,?)";
    138. r.update(con,sql,
    139. order.getTotal(),order.getAmount(),order.getStatus(),
    140. order.getPaytype(),order.getName(),order.getPhone(),
    141. order.getAddress(),order.getDatetime(),order.getUser().getId() );
    142. }
    143. public int getLastInsertId(Connection con) throws SQLException {
    144. QueryRunner r = new QueryRunner();
    145. String sql = "select last_insert_id()";
    146. BigInteger bi = r.query(con, sql,new ScalarHandler<BigInteger>());
    147. return Integer.parseInt(bi.toString());
    148. }
    149. public void insertOrderItem(Connection con, OrderItem item) throws SQLException {
    150. QueryRunner r = new QueryRunner();
    151. String sql ="insert into orderitem(price,amount,goods_id,order_id) values(?,?,?,?)";
    152. r.update(con,sql,item.getPrice(),item.getAmount(),item.getGoods().getId(),item.getOrder().getId());
    153. }
    154. public List<Order> selectAll(int userid) throws SQLException {
    155. QueryRunner r = new QueryRunner(DBUtil.getDataSource());
    156. String sql = "select * from `order` where user_id=? order by datetime desc";
    157. return r.query(sql, new BeanListHandler<Order>(Order.class),userid);
    158. }
    159. public List<OrderItem> selectAllItem(int orderid) throws SQLException{
    160. QueryRunner r = new QueryRunner(DBUtil.getDataSource());
    161. String sql = "select i.id,i.price,i.amount,g.name from orderitem i,goods g where order_id=? and i.goods_id=g.id";
    162. return r.query(sql, new BeanListHandler<OrderItem>(OrderItem.class),orderid);
    163. }
    164. public int getOrderCount(int status) throws SQLException {
    165. QueryRunner r = new QueryRunner(DBUtil.getDataSource());
    166. String sql = "";
    167. if(status==0) {
    168. sql = "select count(*) from `order`";
    169. return r.query(sql, new ScalarHandler<Long>()).intValue();
    170. }else {
    171. sql = "select count(*) from `order` where status=?";
    172. return r.query(sql, new ScalarHandler<Long>(),status).intValue();
    173. }
    174. }
    175. public List<Order> selectOrderList(int status, int pageNumber, int pageSize) throws SQLException {
    176. QueryRunner r = new QueryRunner(DBUtil.getDataSource());
    177. if(status==0) {
    178. String sql = "select o.id,o.total,o.amount,o.status,o.paytype,o.name,o.phone,o.address,o.datetime,u.username from `order` o,user u where o.user_id=u.id order by o.datetime desc limit ?,?";
    179. return r.query(sql, new BeanListHandler<Order>(Order.class), (pageNumber-1)*pageSize,pageSize );
    180. }else {
    181. String sql = "select o.id,o.total,o.amount,o.status,o.paytype,o.name,o.phone,o.address,o.datetime,u.username from `order` o,user u where o.user_id=u.id and o.status=? order by o.datetime desc limit ?,?";
    182. return r.query(sql, new BeanListHandler<Order>(Order.class),status, (pageNumber-1)*pageSize,pageSize );
    183. }
    184. }
    185. public void updateStatus(int id,int status) throws SQLException {
    186. QueryRunner r = new QueryRunner(DBUtil.getDataSource());
    187. String sql ="update `order` set status=? where id = ?";
    188. r.update(sql,status,id);
    189. }
    190. public void deleteOrder(Connection con ,int id) throws SQLException {
    191. QueryRunner r = new QueryRunner();
    192. String sql ="delete from `order` where id = ?";
    193. r.update(con,sql,id);
    194. }
    195. public void deleteOrderItem(Connection con ,int id) throws SQLException {
    196. QueryRunner r = new QueryRunner();
    197. String sql ="delete from orderitem where order_id=?";
    198. r.update(con,sql,id);
    199. }
    200. }

    TypeDao

    1. package dao;
    2. import model.Type;
    3. import org.apache.commons.dbutils.QueryRunner;
    4. import org.apache.commons.dbutils.handlers.BeanHandler;
    5. import org.apache.commons.dbutils.handlers.BeanListHandler;
    6. import utils.DBUtil;
    7. import java.sql.SQLException;
    8. import java.util.List;
    9. public class TypeDao
    10. {
    11. public List GetAllType() throws SQLException {
    12. QueryRunner r=new QueryRunner(DBUtil.getDataSource());
    13. String sql="select * from type";
    14. return r.query(sql,new BeanListHandler(Type.class));
    15. }
    16. public Type selectTypeNameByID(int typeid) throws SQLException {
    17. QueryRunner r=new QueryRunner(DBUtil.getDataSource());
    18. String sql="select * from type where id=?";
    19. return r.query(sql,new BeanHandler(Type.class),typeid);
    20. }
    21. public Type select(int id) throws SQLException {
    22. QueryRunner r = new QueryRunner(DBUtil.getDataSource());
    23. String sql = "select * from type where id = ?";
    24. return r.query(sql, new BeanHandler(Type.class),id);
    25. }
    26. public void insert(Type t) throws SQLException {
    27. QueryRunner r = new QueryRunner(DBUtil.getDataSource());
    28. String sql = "insert into type(name) values(?)";
    29. r.update(sql,t.getName());
    30. }
    31. public void update(Type t) throws SQLException {
    32. QueryRunner r = new QueryRunner(DBUtil.getDataSource());
    33. String sql = "update type set name=? where id = ?";
    34. r.update(sql,t.getName(),t.getId());
    35. }
    36. public void delete(int id) throws SQLException {
    37. QueryRunner r = new QueryRunner(DBUtil.getDataSource());
    38. String sql = "delete from type where id = ?";
    39. r.update(sql,id);
    40. }
    41. }

    如果也想学习本系统,下面领取。关注并回复:064jsp

     

  • 相关阅读:
    Spring注解中的@DependsOn是什么意思
    STM32 裸机编程 04 - Makefile 构建自动化
    分布式事务
    An工具介绍之3D工具
    带你玩转Redis 的 Set 数据类型
    【正则表达式】正则表达式常见匹配模式
    reactnative保存图片到相册
    CSDN 云IDE产品初步体验优劣势(JAVA语言方向)
    Vue 将响应式数据转为普通对象
    (第2遍中)内存的堆空间不够 & error: MSB3073 & 超过了 PCH 的虚拟内存范围
  • 原文地址:https://blog.csdn.net/m0_74967853/article/details/128031701