作者主页:夜未央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
package dao;
import java.io.IOException;
import java.sql.Date;
import java.sql.SQLException;
import java.util.List;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import org.apache.commons.dbutils.handlers.ScalarHandler;
import com.mchange.v2.c3p0.ComboPooledDataSource;
import entity.Admin;
import util.PageTools;
public class AdminDao {
private QueryRunner qr=new QueryRunner(new ComboPooledDataSource());
//添加一个管理员
public boolean insertAdmin(Admin admin){
String sql="insert into admin values(?,?,?,?,?)";
try {
int z=qr.update(sql,admin.getAid(),admin.getAname(),admin.getApassword(),admin.getAphone(),admin.getAaddress());
if(z>0) {
return true;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
public Admin checkLogin(String aname,String apassword)
{
String sql="select * from admin where aname=? and apassword=?";
try {
return qr.query(sql, new BeanHandler<Admin>(Admin.class),aname,apassword);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
//删除一个管理员
public boolean deleteAdminByAid(int aid){
String sql="delete from admin where aid=?";
try {
int z=qr.update(sql,aid);
if(z>0) {
return true;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
//查询所有管理员
public List<Admin> selectAdmin(){
String sql="select * from admin";
try {
return qr.query(sql, new BeanListHandler<Admin>(Admin.class));
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
//按ID查询管理员
public Admin selectAdminByAid(int aid) {
String sql="select * from admin where aid=?";
try {
return qr.query(sql, new BeanHandler<Admin>(Admin.class),aid);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
//按页码查询管理员
public List<Admin> selectAdminByPage(PageTools pt){
String sql="select * from admin limit ?,?";
try {
return qr.query(sql, new BeanListHandler<Admin>(Admin.class),pt.getStart_index(),pt.getPage_size());
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
//修改一个管理员
public boolean updateAdmin(Admin admin){
String sql="update admin set aname=?,apassword=?,aphone=?,aaddress=? where aid=?";
try {
int z=qr.update(sql,admin.getAname(),admin.getApassword(),admin.getAphone(),admin.getAaddress(),admin.getAid());
if(z>0)
return true;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
//统计管理员的个数
public int counts(){
String sql="select count(*) from admin";
try {
Long l=(Long)qr.query(sql, new ScalarHandler());//反射
return l.intValue();//java基础
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return 0;
}
public static void main(String[] args) {
Admin z = new AdminDao().checkLogin("cc1", "1234");
System.out.println(z);
}
}
CustomerDao
package dao;
import java.sql.SQLException;
import java.util.List;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import org.apache.commons.dbutils.handlers.ScalarHandler;
import com.mchange.v2.c3p0.ComboPooledDataSource;
import entity.Admin;
import entity.Customer;
import util.PageTools;
public class CustomerDao {
private QueryRunner qr=new QueryRunner(new ComboPooledDataSource());
//添加一个顾客
public boolean insertCustomer(Customer customer){
String sql="insert into customer values(?,?,?,?,?,?,?)";
try {
int z=qr.update(sql,customer.getCid(),customer.getCname(),customer.getCsex(),customer.getCage(),customer.getCphone(),customer.getCemail(),customer.getCaddress());
if(z>0) {
return true;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
//删除一个顾客
public boolean deleteCustomerByCid(int cid){
String sql="delete from customer where cid=?";
try {
int z=qr.update(sql,cid);
if(z>0) {
return true;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
//查询所有管理员
public List<Customer> selectCustomer(){
String sql="select * from customer";
try {
return qr.query(sql, new BeanListHandler<Customer>(Customer.class));
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
//按ID查询顾客
public Customer selectCustomerByCid(int cid) {
String sql="select * from customer where cid=?";
try {
return qr.query(sql, new BeanHandler<Customer>(Customer.class),cid);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
//按页码查询顾客
public List<Customer> selectCustomerByPage(PageTools pt){
String sql="select * from customer limit ?,?";
try {
return qr.query(sql, new BeanListHandler<Customer>(Customer.class),pt.getStart_index(),pt.getPage_size());
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
//修改一个顾客
public boolean updateCustomer(Customer customer){
String sql="update customer set cname=?,csex=?,cage=?,cphone=?,cemail=?,caddress=? where cid=?";
try {
int z=qr.update(sql,customer.getCname(),customer.getCsex(),customer.getCage(),customer.getCphone(),customer.getCemail(),customer.getCaddress(),customer.getCid());
if(z>0)
return true;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
//统计顾客的个数
public int counts(){
String sql="select count(*) from customer";
try {
Long l=(Long)qr.query(sql, new ScalarHandler());//反射
return l.intValue();//java基础
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return 0;
}
}
DrugDao
package dao;
import java.sql.SQLException;
import java.util.List;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import org.apache.commons.dbutils.handlers.ScalarHandler;
import com.mchange.v2.c3p0.ComboPooledDataSource;
import entity.Drug;
import util.PageTools;
public class DrugDao {
private QueryRunner qr=new QueryRunner(new ComboPooledDataSource());
//添加药品
public boolean insertDrug(Drug drug){
String sql="insert into drug values(?,?,?,?,?,?,?,?,?)";
try {
int z=qr.update(sql,drug.getDid(),drug.getDname(),drug.getDclass(),drug.getDprice(),drug.getProdate(),drug.getExdate(),drug.getRequantity(),drug.getSname(),drug.getFunction());
if(z>0) {
return true;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
//删除一个管理员
public boolean deleteDrugByDid(String did){
String sql="delete from drug where did=?";
try {
int z=qr.update(sql,did);
if(z>0) {
return true;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
//查询所有管理员
public List<Drug> selectDrug(){
String sql="select * from drug";
try {
return qr.query(sql, new BeanListHandler<Drug>(Drug.class));
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
//按ID查询管理员
public Drug selectDrugByDid(String did) {
String sql="select * from drug where did=?";
try {
return qr.query(sql, new BeanHandler<Drug>(Drug.class),did);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
//按页码查询管理员
public List<Drug> selectDrugByPage(PageTools pt){
String sql="select * from drug limit ?,?";
try {
return qr.query(sql, new BeanListHandler<Drug>(Drug.class),pt.getStart_index(),pt.getPage_size());
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
//修改一个管理员
public boolean updateDrug(Drug drug){
String sql="update drug set dname=?,dclass=?,dprice=?,prodate=?,exdate=?,requantity=?,sname=?,function=? where did=?";
try {
int z=qr.update(sql,drug.getDname(),drug.getDclass(),drug.getDprice(),drug.getProdate(),drug.getExdate(),drug.getRequantity(),drug.getSname(),drug.getFunction(),drug.getDid());
if(z>0)
return true;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
//统计管理员的个数
public int counts(){
String sql="select count(*) from drug";
try {
Long l=(Long)qr.query(sql, new ScalarHandler());//反射
return l.intValue();//java基础
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return 0;
}
}
OrderDao
package dao;
import java.sql.SQLException;
import java.util.List;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import org.apache.commons.dbutils.handlers.ScalarHandler;
import com.mchange.v2.c3p0.ComboPooledDataSource;
import entity.Order;
import util.PageTools;
public class OrderDao {
private QueryRunner qr=new QueryRunner(new ComboPooledDataSource());
//添加订单
public boolean insertOrder(Order order){
String sql="insert into ordered(did,oquantity,oprice,cid,odate) values(?,?,?,?,?)";
try {
int z=qr.update(sql,order.getDid(),order.getOquantity(),order.getOprice(),order.getCid(),order.getOdate());
if(z>0) {
return true;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
//删除一个订单
public boolean deleteOrderByOid(int oid){
String sql="delete from ordered where oid=?";
try {
int z=qr.update(sql,oid);
if(z>0) {
return true;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
//查询所有订单
public List<Order> selectOrder(){
String sql="select * from ordered";
try {
return qr.query(sql, new BeanListHandler<Order>(Order.class));
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
//按ID查询订单
public Order selectOrderByOid(int oid) {
String sql="select * from ordered where oid=?";
try {
return qr.query(sql, new BeanHandler<Order>(Order.class),oid);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
//按页码查询订单
public List<Order> selectOrderByPage(PageTools pt){
String sql="select * from ordered limit ?,?";
try {
return qr.query(sql, new BeanListHandler<Order>(Order.class),pt.getStart_index(),pt.getPage_size());
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
//修改一个订单
public boolean updateOrder(Order order){
String sql="update ordered set did=?,oquantity=?,oprice=?,cid=?,odate=? where oid=?";
try {
int z=qr.update(sql,order.getDid(),order.getOquantity(),order.getOprice(),order.getCid(),order.getOdate(),order.getOid());
if(z>0)
return true;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
//统计订单的个数
public int counts(){
String sql="select count(*) from ordered";
try {
Long l=(Long)qr.query(sql, new ScalarHandler());//反射
return l.intValue();//java基础
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return 0;
}
}
如果也想学习本系统,下面领取。关注并回复:009jsp