• Java项目:基于jsp+servlet在线药店管理系统(含PPT)


    作者主页:夜未央5788

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

    文末获取源码

    项目介绍

    基于jsp+servlet在线药店管理系统

    该项目是一个后管系统,只有一个管理员角色,功能比较简单,适合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.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目 

    6.数据库:MySql 5.7版本;

    技术栈

    1. 后端:servlet

    2. 前端:JSP+bootstrap+jQuery

    使用说明

    1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
    2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
    若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat,然后运行;
    3. 将项目中c3p0.properties配置文件中的数据库配置改为自己的配置
    4. 运行项目,输入http://localhost:8080/shop 登录

    5. 账户admin  密码123456

    运行截图

     

     

     

     

     

     

     

    相关代码 

    AdminDao

    1. package dao;
    2. import java.io.IOException;
    3. import java.sql.Date;
    4. import java.sql.SQLException;
    5. import java.util.List;
    6. import org.apache.commons.dbutils.QueryRunner;
    7. import org.apache.commons.dbutils.handlers.BeanHandler;
    8. import org.apache.commons.dbutils.handlers.BeanListHandler;
    9. import org.apache.commons.dbutils.handlers.ScalarHandler;
    10. import com.mchange.v2.c3p0.ComboPooledDataSource;
    11. import entity.Admin;
    12. import util.PageTools;
    13. public class AdminDao {
    14. private QueryRunner qr=new QueryRunner(new ComboPooledDataSource());
    15. //添加一个管理员
    16. public boolean insertAdmin(Admin admin){
    17. String sql="insert into admin values(?,?,?,?,?)";
    18. try {
    19. int z=qr.update(sql,admin.getAid(),admin.getAname(),admin.getApassword(),admin.getAphone(),admin.getAaddress());
    20. if(z>0) {
    21. return true;
    22. }
    23. } catch (SQLException e) {
    24. // TODO Auto-generated catch block
    25. e.printStackTrace();
    26. }
    27. return false;
    28. }
    29. public Admin checkLogin(String aname,String apassword)
    30. {
    31. String sql="select * from admin where aname=? and apassword=?";
    32. try {
    33. return qr.query(sql, new BeanHandler(Admin.class),aname,apassword);
    34. } catch (SQLException e) {
    35. // TODO Auto-generated catch block
    36. e.printStackTrace();
    37. }
    38. return null;
    39. }
    40. //删除一个管理员
    41. public boolean deleteAdminByAid(int aid){
    42. String sql="delete from admin where aid=?";
    43. try {
    44. int z=qr.update(sql,aid);
    45. if(z>0) {
    46. return true;
    47. }
    48. } catch (SQLException e) {
    49. // TODO Auto-generated catch block
    50. e.printStackTrace();
    51. }
    52. return false;
    53. }
    54. //查询所有管理员
    55. public List selectAdmin(){
    56. String sql="select * from admin";
    57. try {
    58. return qr.query(sql, new BeanListHandler(Admin.class));
    59. } catch (SQLException e) {
    60. // TODO Auto-generated catch block
    61. e.printStackTrace();
    62. }
    63. return null;
    64. }
    65. //按ID查询管理员
    66. public Admin selectAdminByAid(int aid) {
    67. String sql="select * from admin where aid=?";
    68. try {
    69. return qr.query(sql, new BeanHandler(Admin.class),aid);
    70. } catch (SQLException e) {
    71. // TODO Auto-generated catch block
    72. e.printStackTrace();
    73. }
    74. return null;
    75. }
    76. //按页码查询管理员
    77. public List selectAdminByPage(PageTools pt){
    78. String sql="select * from admin limit ?,?";
    79. try {
    80. return qr.query(sql, new BeanListHandler(Admin.class),pt.getStart_index(),pt.getPage_size());
    81. } catch (SQLException e) {
    82. // TODO Auto-generated catch block
    83. e.printStackTrace();
    84. }
    85. return null;
    86. }
    87. //修改一个管理员
    88. public boolean updateAdmin(Admin admin){
    89. String sql="update admin set aname=?,apassword=?,aphone=?,aaddress=? where aid=?";
    90. try {
    91. int z=qr.update(sql,admin.getAname(),admin.getApassword(),admin.getAphone(),admin.getAaddress(),admin.getAid());
    92. if(z>0)
    93. return true;
    94. } catch (SQLException e) {
    95. // TODO Auto-generated catch block
    96. e.printStackTrace();
    97. }
    98. return false;
    99. }
    100. //统计管理员的个数
    101. public int counts(){
    102. String sql="select count(*) from admin";
    103. try {
    104. Long l=(Long)qr.query(sql, new ScalarHandler());//反射
    105. return l.intValue();//java基础
    106. } catch (SQLException e) {
    107. // TODO Auto-generated catch block
    108. e.printStackTrace();
    109. }
    110. return 0;
    111. }
    112. public static void main(String[] args) {
    113. Admin z = new AdminDao().checkLogin("cc1", "1234");
    114. System.out.println(z);
    115. }
    116. }

    CustomerDao

    1. package dao;
    2. import java.sql.SQLException;
    3. import java.util.List;
    4. import org.apache.commons.dbutils.QueryRunner;
    5. import org.apache.commons.dbutils.handlers.BeanHandler;
    6. import org.apache.commons.dbutils.handlers.BeanListHandler;
    7. import org.apache.commons.dbutils.handlers.ScalarHandler;
    8. import com.mchange.v2.c3p0.ComboPooledDataSource;
    9. import entity.Admin;
    10. import entity.Customer;
    11. import util.PageTools;
    12. public class CustomerDao {
    13. private QueryRunner qr=new QueryRunner(new ComboPooledDataSource());
    14. //添加一个顾客
    15. public boolean insertCustomer(Customer customer){
    16. String sql="insert into customer values(?,?,?,?,?,?,?)";
    17. try {
    18. int z=qr.update(sql,customer.getCid(),customer.getCname(),customer.getCsex(),customer.getCage(),customer.getCphone(),customer.getCemail(),customer.getCaddress());
    19. if(z>0) {
    20. return true;
    21. }
    22. } catch (SQLException e) {
    23. // TODO Auto-generated catch block
    24. e.printStackTrace();
    25. }
    26. return false;
    27. }
    28. //删除一个顾客
    29. public boolean deleteCustomerByCid(int cid){
    30. String sql="delete from customer where cid=?";
    31. try {
    32. int z=qr.update(sql,cid);
    33. if(z>0) {
    34. return true;
    35. }
    36. } catch (SQLException e) {
    37. // TODO Auto-generated catch block
    38. e.printStackTrace();
    39. }
    40. return false;
    41. }
    42. //查询所有管理员
    43. public List selectCustomer(){
    44. String sql="select * from customer";
    45. try {
    46. return qr.query(sql, new BeanListHandler(Customer.class));
    47. } catch (SQLException e) {
    48. // TODO Auto-generated catch block
    49. e.printStackTrace();
    50. }
    51. return null;
    52. }
    53. //按ID查询顾客
    54. public Customer selectCustomerByCid(int cid) {
    55. String sql="select * from customer where cid=?";
    56. try {
    57. return qr.query(sql, new BeanHandler(Customer.class),cid);
    58. } catch (SQLException e) {
    59. // TODO Auto-generated catch block
    60. e.printStackTrace();
    61. }
    62. return null;
    63. }
    64. //按页码查询顾客
    65. public List selectCustomerByPage(PageTools pt){
    66. String sql="select * from customer limit ?,?";
    67. try {
    68. return qr.query(sql, new BeanListHandler(Customer.class),pt.getStart_index(),pt.getPage_size());
    69. } catch (SQLException e) {
    70. // TODO Auto-generated catch block
    71. e.printStackTrace();
    72. }
    73. return null;
    74. }
    75. //修改一个顾客
    76. public boolean updateCustomer(Customer customer){
    77. String sql="update customer set cname=?,csex=?,cage=?,cphone=?,cemail=?,caddress=? where cid=?";
    78. try {
    79. int z=qr.update(sql,customer.getCname(),customer.getCsex(),customer.getCage(),customer.getCphone(),customer.getCemail(),customer.getCaddress(),customer.getCid());
    80. if(z>0)
    81. return true;
    82. } catch (SQLException e) {
    83. // TODO Auto-generated catch block
    84. e.printStackTrace();
    85. }
    86. return false;
    87. }
    88. //统计顾客的个数
    89. public int counts(){
    90. String sql="select count(*) from customer";
    91. try {
    92. Long l=(Long)qr.query(sql, new ScalarHandler());//反射
    93. return l.intValue();//java基础
    94. } catch (SQLException e) {
    95. // TODO Auto-generated catch block
    96. e.printStackTrace();
    97. }
    98. return 0;
    99. }
    100. }

    DrugDao

    1. package dao;
    2. import java.sql.SQLException;
    3. import java.util.List;
    4. import org.apache.commons.dbutils.QueryRunner;
    5. import org.apache.commons.dbutils.handlers.BeanHandler;
    6. import org.apache.commons.dbutils.handlers.BeanListHandler;
    7. import org.apache.commons.dbutils.handlers.ScalarHandler;
    8. import com.mchange.v2.c3p0.ComboPooledDataSource;
    9. import entity.Drug;
    10. import util.PageTools;
    11. public class DrugDao {
    12. private QueryRunner qr=new QueryRunner(new ComboPooledDataSource());
    13. //添加药品
    14. public boolean insertDrug(Drug drug){
    15. String sql="insert into drug values(?,?,?,?,?,?,?,?,?)";
    16. try {
    17. int z=qr.update(sql,drug.getDid(),drug.getDname(),drug.getDclass(),drug.getDprice(),drug.getProdate(),drug.getExdate(),drug.getRequantity(),drug.getSname(),drug.getFunction());
    18. if(z>0) {
    19. return true;
    20. }
    21. } catch (SQLException e) {
    22. // TODO Auto-generated catch block
    23. e.printStackTrace();
    24. }
    25. return false;
    26. }
    27. //删除一个管理员
    28. public boolean deleteDrugByDid(String did){
    29. String sql="delete from drug where did=?";
    30. try {
    31. int z=qr.update(sql,did);
    32. if(z>0) {
    33. return true;
    34. }
    35. } catch (SQLException e) {
    36. // TODO Auto-generated catch block
    37. e.printStackTrace();
    38. }
    39. return false;
    40. }
    41. //查询所有管理员
    42. public List selectDrug(){
    43. String sql="select * from drug";
    44. try {
    45. return qr.query(sql, new BeanListHandler(Drug.class));
    46. } catch (SQLException e) {
    47. // TODO Auto-generated catch block
    48. e.printStackTrace();
    49. }
    50. return null;
    51. }
    52. //按ID查询管理员
    53. public Drug selectDrugByDid(String did) {
    54. String sql="select * from drug where did=?";
    55. try {
    56. return qr.query(sql, new BeanHandler(Drug.class),did);
    57. } catch (SQLException e) {
    58. // TODO Auto-generated catch block
    59. e.printStackTrace();
    60. }
    61. return null;
    62. }
    63. //按页码查询管理员
    64. public List selectDrugByPage(PageTools pt){
    65. String sql="select * from drug limit ?,?";
    66. try {
    67. return qr.query(sql, new BeanListHandler(Drug.class),pt.getStart_index(),pt.getPage_size());
    68. } catch (SQLException e) {
    69. // TODO Auto-generated catch block
    70. e.printStackTrace();
    71. }
    72. return null;
    73. }
    74. //修改一个管理员
    75. public boolean updateDrug(Drug drug){
    76. String sql="update drug set dname=?,dclass=?,dprice=?,prodate=?,exdate=?,requantity=?,sname=?,function=? where did=?";
    77. try {
    78. int z=qr.update(sql,drug.getDname(),drug.getDclass(),drug.getDprice(),drug.getProdate(),drug.getExdate(),drug.getRequantity(),drug.getSname(),drug.getFunction(),drug.getDid());
    79. if(z>0)
    80. return true;
    81. } catch (SQLException e) {
    82. // TODO Auto-generated catch block
    83. e.printStackTrace();
    84. }
    85. return false;
    86. }
    87. //统计管理员的个数
    88. public int counts(){
    89. String sql="select count(*) from drug";
    90. try {
    91. Long l=(Long)qr.query(sql, new ScalarHandler());//反射
    92. return l.intValue();//java基础
    93. } catch (SQLException e) {
    94. // TODO Auto-generated catch block
    95. e.printStackTrace();
    96. }
    97. return 0;
    98. }
    99. }

    OrderDao

    1. package dao;
    2. import java.sql.SQLException;
    3. import java.util.List;
    4. import org.apache.commons.dbutils.QueryRunner;
    5. import org.apache.commons.dbutils.handlers.BeanHandler;
    6. import org.apache.commons.dbutils.handlers.BeanListHandler;
    7. import org.apache.commons.dbutils.handlers.ScalarHandler;
    8. import com.mchange.v2.c3p0.ComboPooledDataSource;
    9. import entity.Order;
    10. import util.PageTools;
    11. public class OrderDao {
    12. private QueryRunner qr=new QueryRunner(new ComboPooledDataSource());
    13. //添加订单
    14. public boolean insertOrder(Order order){
    15. String sql="insert into ordered(did,oquantity,oprice,cid,odate) values(?,?,?,?,?)";
    16. try {
    17. int z=qr.update(sql,order.getDid(),order.getOquantity(),order.getOprice(),order.getCid(),order.getOdate());
    18. if(z>0) {
    19. return true;
    20. }
    21. } catch (SQLException e) {
    22. // TODO Auto-generated catch block
    23. e.printStackTrace();
    24. }
    25. return false;
    26. }
    27. //删除一个订单
    28. public boolean deleteOrderByOid(int oid){
    29. String sql="delete from ordered where oid=?";
    30. try {
    31. int z=qr.update(sql,oid);
    32. if(z>0) {
    33. return true;
    34. }
    35. } catch (SQLException e) {
    36. // TODO Auto-generated catch block
    37. e.printStackTrace();
    38. }
    39. return false;
    40. }
    41. //查询所有订单
    42. public List selectOrder(){
    43. String sql="select * from ordered";
    44. try {
    45. return qr.query(sql, new BeanListHandler(Order.class));
    46. } catch (SQLException e) {
    47. // TODO Auto-generated catch block
    48. e.printStackTrace();
    49. }
    50. return null;
    51. }
    52. //按ID查询订单
    53. public Order selectOrderByOid(int oid) {
    54. String sql="select * from ordered where oid=?";
    55. try {
    56. return qr.query(sql, new BeanHandler(Order.class),oid);
    57. } catch (SQLException e) {
    58. // TODO Auto-generated catch block
    59. e.printStackTrace();
    60. }
    61. return null;
    62. }
    63. //按页码查询订单
    64. public List selectOrderByPage(PageTools pt){
    65. String sql="select * from ordered limit ?,?";
    66. try {
    67. return qr.query(sql, new BeanListHandler(Order.class),pt.getStart_index(),pt.getPage_size());
    68. } catch (SQLException e) {
    69. // TODO Auto-generated catch block
    70. e.printStackTrace();
    71. }
    72. return null;
    73. }
    74. //修改一个订单
    75. public boolean updateOrder(Order order){
    76. String sql="update ordered set did=?,oquantity=?,oprice=?,cid=?,odate=? where oid=?";
    77. try {
    78. int z=qr.update(sql,order.getDid(),order.getOquantity(),order.getOprice(),order.getCid(),order.getOdate(),order.getOid());
    79. if(z>0)
    80. return true;
    81. } catch (SQLException e) {
    82. // TODO Auto-generated catch block
    83. e.printStackTrace();
    84. }
    85. return false;
    86. }
    87. //统计订单的个数
    88. public int counts(){
    89. String sql="select count(*) from ordered";
    90. try {
    91. Long l=(Long)qr.query(sql, new ScalarHandler());//反射
    92. return l.intValue();//java基础
    93. } catch (SQLException e) {
    94. // TODO Auto-generated catch block
    95. e.printStackTrace();
    96. }
    97. return 0;
    98. }
    99. }

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

  • 相关阅读:
    蜂蜜配送销售商城小程序的作用是什么
    原码、反码、补码相关知识
    思科路由器配置
    Qt 信号与槽
    MySQL学习笔记18
    期货客户开户手续费(期货开户最低手续费)
    NSAT-8000电源自动测试系统,测试速度快测量准确
    缓存与数据一致性问题
    SpringBoot SpringBoot 开发实用篇 5 整合第三方技术 5.3 手机验证码案例 - 生成验证码
    YOLO目标检测——口罩规范佩戴数据集+已标注xml和txt格式标签下载分享
  • 原文地址:https://blog.csdn.net/hanyunlong1989/article/details/127096550