电商书城项目(JavaWeb)

简单介绍:是我目前写过最大的java项目,写了半个多月,后台管理系统,有前端页面,后端页面,前端有登录,注册,主页面,添加商品,商品信息,个人信息,添加购物车,查看最近浏览记录,模拟支付完成效果等,后端有登录,注册,用户管理,分类管理,商品管理,订单管理,留言管理。

使用MVC设计模式。

mvc的相关介绍,之前已经提到过了。可以看之前的笔记。

分包。

在这里插入图片描述

简单介绍

在这里插入图片描述

这个目录放前端页面。下面的manage目录放后台页面,css样式,js文件,图片文件。

在这里插入图片描述
过滤器,用于拦截未登录前的所有请求。
在这里插入图片描述

里边放的封装原生JDBC的类,生成随机订单号的工具类,和生成验证码的类。

在这里插入图片描述

页面效果预览

后端页面

后端登陆页面

在这里插入图片描述

主页面

在这里插入图片描述

用户管理页面

实现了分页,模糊查询的功能。

在这里插入图片描述

分类管理

在这里插入图片描述

图书管理
新增图书

在这里插入图片描述

订单管理

在这里插入图片描述

留言管理

在这里插入图片描述

点击跳转到前端页面

在这里插入图片描述
跳转后的前端页面

前端页面

前端登录页面

在这里插入图片描述

前端主页面

在这里插入图片描述

主页面下的效果

在这里插入图片描述
在这里插入图片描述

点击对应的超链接,显示对应的画面效果。

在这里插入图片描述
点击admin
在这里插入图片描述
跳转个人信息
在这里插入图片描述

跳转到后台页面

在这里插入图片描述

点击购物车查看自己购物车里的信息。

在这里插入图片描述
在这里插入图片描述

可以添加到购物车并结算。

在这里插入图片描述

结算页面

在这里插入图片描述
在这里插入图片描述

模拟支付页面

在这里插入图片描述

最近浏览记录:

在这里插入图片描述

前端注册页面

在这里插入图片描述

部分与数据库连接代码

package com.vector.daoImp;
import java.sql.SQLException;
import java.util.List;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import com.vector.bean.Lmonkey_User;
import com.vector.dao.Basedao;
import com.vector.unit.DataSourceUtils;
public class BasedaoImp implements Basedao {
	private QueryRunner qr = new QueryRunner(DataSourceUtils.getDataSource());
	@Override
	public int addUserinfo(Lmonkey_User u) {
		try {
			String sql = "insert into lmonkey_user (USER_ID,USER_NAME,USER_PASSWORD,USER_SEX,USER_BIRTHDAY,USER_IDENITY_CODE,USER_EMAIL,USER_MOBILE,USER_ADDRESS,USER_STATUS) values (?,?,?,?,DATE_FORMAT(?,'%Y-%m-%d'),?,?,?,?,?)";
			int query = qr.update(sql,u.getUser_id(),u.getUser_name(),u.getUser_password(),u.getUser_sex(),u.getUser_birthday(),u.getUser_idenity_code(),u.getUser_email(),u.getUser_mobile(),u.getUser_address(),u.getUser_status());
			return query;
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
		return 0;
	}
	/**
	 * 实现分页操作
	 */
	@Override
	public List<Lmonkey_User> findAll(int cpage, int count, String keyword) {
		try {
			String sql = "";
			if(keyword!=null) {
				sql = "select * from lmonkey_user where USER_NAME like ? ORDER BY USER_BIRTHDAY desc limit ? , ?";
				List<Lmonkey_User> query = qr.query(sql, new BeanListHandler<Lmonkey_User>(Lmonkey_User.class),("%"+keyword+"%"),(cpage-1)*count,count);
				return query;
			}else {
				sql = "select * from lmonkey_user  ORDER BY USER_BIRTHDAY desc limit ? , ?";
				List<Lmonkey_User> query = qr.query(sql, new BeanListHandler<Lmonkey_User>(Lmonkey_User.class),(cpage-1)*count,count);
				return query;
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return null;
	}
	@Override
	public int [] totalPage(int count, String keyword) {
		int arr[] = {0,1};
		String sql = "";
		try {
			if(keyword!=null) {
				sql = "select * from lmonkey_user where USER_NAME like ?";				
				List<Lmonkey_User> query = qr.query(sql, new BeanListHandler<Lmonkey_User>(Lmonkey_User.class),"%"+keyword+"%");
				arr[0] = query.size();
				if(arr[0]%count==0) {
					arr[1] = arr[0]/count;
				}else {
					arr[1] = arr[0]/count + 1;
				}
			}else {
				sql = "select * from lmonkey_user";	
				List<Lmonkey_User> query = qr.query(sql, new BeanListHandler<Lmonkey_User>(Lmonkey_User.class));
				arr[0] = query.size();
				if(arr[0]%count==0) {
					arr[1] = arr[0]/count;
				}else {
					arr[1] = arr[0]/count + 1;
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return arr;
	}
	
	@Override
	public List<Lmonkey_User> selectById(String id) {
		try {
			String sql = "select m.*, DATE_FORMAT(m.user_birthday, '%Y-%m-%d')birthday from lmonkey_user m where USER_ID=?";
			List<Lmonkey_User> query = qr.query(sql, new BeanListHandler<Lmonkey_User>(Lmonkey_User.class),id);
			return query;
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return null;
	}
	@Override
	public int updateUserInfo(Lmonkey_User u) {
		try {
			String sql = "update Lmonkey_User set USER_NAME=?,USER_PASSWORD=?,USER_SEX=?,USER_BIRTHDAY=DATE_FORMAT(?,'%y-%m-%d'),USER_IDENITY_CODE=?,USER_EMAIL=?,USER_MOBILE=?,USER_ADDRESS=?,USER_STATUS=? where USER_ID = ?";
			int query = qr.update(sql,u.getUser_name(),u.getUser_password(),u.getUser_sex(),u.getUser_birthday(),u.getUser_idenity_code(),u.getUser_email(),u.getUser_mobile(),u.getUser_address(),u.getUser_status(),u.getUser_id());
			return query;
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
		return 0;
	}
	/*删除用户
	 * 
	 * */
	@Override
	public int delUser(String id) {
		try {
			String sql = "delete from Lmonkey_User where  USER_ID=? and USER_STATUS!=2";
			Object[] params= {id};
			int query = qr.update(sql,params);
			return query;
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
		return 0;
	}
	@Override
	public int selectByName(String id) {
		int count = 1;
		try {
			String sql = "select * from lmonkey_user where USER_ID = ?";				
			List<Lmonkey_User> query = qr.query(sql, new BeanListHandler<Lmonkey_User>(Lmonkey_User.class),id);
			count = query.size(); 
			return count;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return 0;
	}
	@Override
	public int selectByNM(String userName, String passWord) {
		int count = 1;
		try {
			String sql = "select * from lmonkey_user where USER_ID = ? and USER_PASSWORD = ?";				
			List<Lmonkey_User> query = qr.query(sql, new BeanListHandler<Lmonkey_User>(Lmonkey_User.class),userName,passWord);
			count = query.size(); 
			return count;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return 0;
	}
	@Override
	public List<Lmonkey_User> selectAdmin(String userName, String passWord) {
		try {
			String sql = "select m.*, DATE_FORMAT(m.user_birthday, '%Y-%m-%d')birthday from lmonkey_user m where USER_ID=? and USER_PASSWORD = ?";
			List<Lmonkey_User> query = qr.query(sql, new BeanListHandler<Lmonkey_User>(Lmonkey_User.class),userName,passWord);
			return query;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}
}

还会陆续更新其他项目,用功能更强大的技术(SSM,Sprint系列的框架,等)。希望大家多多关注。

详细的可以了解,资源里边的项目。

联系方式qq:1287440358 微信:Burial_DH。

  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Burial_DH

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值