IDEA+springboot+mybatis+shiro+bootstrap+Mysql网上书店管理系统源码

news2024/9/24 11:29:11

IDEA+springboot+mybatis+shiro+bootstrap+Mysql网上书店管理系统

  • 一、系统介绍
    • 1.环境配置
  • 二、系统展示
    • 1. 首页
    • 2.图书详情
    • 3.登录
    • 4. 注册
    • 5. 购物车
    • 6. 个人信息
    • 7.我的订单
    • 8.填写订单
    • 9.用户管理
    • 10.添加用户
    • 11.店铺列表
    • 12.添加店铺
    • 13.角色列表
    • 14.添加角色
    • 15.权限管理
    • 16.店铺信息
    • 17.我的图书
    • 18.图书上新
    • 19.订单管理
    • 20.我的信息
  • 三、部分代码
    • UserMapper.java
    • AdminIndexController.java
    • User.java
  • 四、其他
    • 获取源码


一、系统介绍

本系统实现了网上书店管理系统,用户端实现了首页、图书详情、登录、注册、购物车、个人信息、我的订单、填写订单,管理端实现了管 用户管理、添加用户、店铺列表、添加店铺、角色列表、添加角色、权限管理、店铺信息、我的图书、图书上新、订单管理、我的信息

1.环境配置

JDK版本:1.8
Mysql:5.7

二、系统展示

1. 首页

在这里插入图片描述

2.图书详情

在这里插入图片描述

3.登录

在这里插入图片描述

账号:admin 密码:123456(修改数据库password字段内容为e10adc3949ba59abbe56e057f20f883e)

4. 注册

在这里插入图片描述

5. 购物车

在这里插入图片描述

6. 个人信息

在这里插入图片描述

7.我的订单

在这里插入图片描述

8.填写订单

在这里插入图片描述

9.用户管理

在这里插入图片描述

10.添加用户

在这里插入图片描述

11.店铺列表

在这里插入图片描述

12.添加店铺

在这里插入图片描述

13.角色列表

在这里插入图片描述

14.添加角色

在这里插入图片描述

15.权限管理

在这里插入图片描述

16.店铺信息

在这里插入图片描述

17.我的图书

在这里插入图片描述

18.图书上新

在这里插入图片描述

19.订单管理

在这里插入图片描述

20.我的信息

在这里插入图片描述

三、部分代码

UserMapper.java

package org.zdd.bookstore.model.dao;

import org.zdd.bookstore.common.utils.MyMapper;
import org.zdd.bookstore.model.entity.User;

public interface UserMapper extends MyMapper<User> {
}


AdminIndexController.java

package org.zdd.bookstore.web.controller.admin;

import org.zdd.bookstore.model.service.IStoreService;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;


@Controller
@RequestMapping("/admin")
public class AdminIndexController {

    @Autowired
    private IStoreService storeService;


    @RequestMapping({"", "/", "/index"})
    @RequiresPermissions("system")
    public String adminIndex() {
        return "admin/index";
    }
}




User.java

package org.zdd.bookstore.model.entity;

import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;

@Table(name = "user")
public class User implements Serializable {
    @Id
    @Column(name = "user_id")
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer userId;

    @Column(name = "username")
    private String username;

    @Column(name = "nickname")
    private String nickname;

    @Column(name = "password")
    private String password;

    @Column(name = "gender")
    private String gender;

    @Column(name = "email")
    private String email;

    @Column(name = "phone")
    private String phone;

    /**
     * 邮政编码
     */
    @Column(name = "zip_code")
    private String zipCode;

    @Column(name = "location")
    private String location;

    @Column(name = "detail_address")
    private String detailAddress;

    /**
     * 身份
     */
    @Column(name = "identity")
    private String identity;

    @Column(name = "active")
    private String active;

    /**
     * 用户激活码
     */
    @Column(name = "code")
    private String code;

    @Column(name = "updated")
    private Date updated;

    @Column(name = "created")
    private Date created;

    /**
     * @return user_id
     */
    public Integer getUserId() {
        return userId;
    }

    /**
     * @param userId
     */
    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    /**
     * @return username
     */
    public String getUsername() {
        return username;
    }

    /**
     * @param username
     */
    public void setUsername(String username) {
        this.username = username == null ? null : username.trim();
    }

    /**
     * @return nickname
     */
    public String getNickname() {
        return nickname;
    }

    /**
     * @param nickname
     */
    public void setNickname(String nickname) {
        this.nickname = nickname == null ? null : nickname.trim();
    }

    /**
     * @return password
     */
    public String getPassword() {
        return password;
    }

    /**
     * @param password
     */
    public void setPassword(String password) {
        this.password = password == null ? null : password.trim();
    }

    /**
     * @return gender
     */
    public String getGender() {
        return gender;
    }

    /**
     * @param gender
     */
    public void setGender(String gender) {
        this.gender = gender == null ? null : gender.trim();
    }

    /**
     * @return email
     */
    public String getEmail() {
        return email;
    }

    /**
     * @param email
     */
    public void setEmail(String email) {
        this.email = email == null ? null : email.trim();
    }

    /**
     * @return phone
     */
    public String getPhone() {
        return phone;
    }

    /**
     * @param phone
     */
    public void setPhone(String phone) {
        this.phone = phone == null ? null : phone.trim();
    }

    /**
     * 获取邮政编码
     *
     * @return zip_code - 邮政编码
     */
    public String getZipCode() {
        return zipCode;
    }

    /**
     * 设置邮政编码
     *
     * @param zipCode 邮政编码
     */
    public void setZipCode(String zipCode) {
        this.zipCode = zipCode == null ? null : zipCode.trim();
    }

    /**
     * @return location
     */
    public String getLocation() {
        return location;
    }

    /**
     * @param location
     */
    public void setLocation(String location) {
        this.location = location == null ? null : location.trim();
    }

    /**
     * @return detail_address
     */
    public String getDetailAddress() {
        return detailAddress;
    }

    /**
     * @param detailAddress
     */
    public void setDetailAddress(String detailAddress) {
        this.detailAddress = detailAddress == null ? null : detailAddress.trim();
    }

    /**
     * 获取身份
     *
     * @return identity - 身份
     */
    public String getIdentity() {
        return identity;
    }

    /**
     * 设置身份
     *
     * @param identity 身份
     */
    public void setIdentity(String identity) {
        this.identity = identity == null ? null : identity.trim();
    }

    /**
     * @return active
     */
    public String getActive() {
        return active;
    }

    /**
     * @param active
     */
    public void setActive(String active) {
        this.active = active == null ? null : active.trim();
    }

    /**
     * 获取用户激活码
     *
     * @return code - 用户激活码
     */
    public String getCode() {
        return code;
    }

    /**
     * 设置用户激活码
     *
     * @param code 用户激活码
     */
    public void setCode(String code) {
        this.code = code == null ? null : code.trim();
    }

    /**
     * @return updated
     */
    public Date getUpdated() {
        return updated;
    }

    /**
     * @param updated
     */
    public void setUpdated(Date updated) {
        this.updated = updated;
    }

    /**
     * @return created
     */
    public Date getCreated() {
        return created;
    }

    /**
     * @param created
     */
    public void setCreated(Date created) {
        this.created = created;
    }
}

四、其他

获取源码

点击以下链接获取源码。
IDEA+springboot+mybatis+shiro+bootstrap+Mysql网上书店管理系统
IDEA+springboot+mybatis+shiro+bootstrap+Mysql WMS仓库管理系统
IDEA+spring+spring mvc+mybatis+bootstrap+jquery+Mysql运动会管理系统源码
IDEA+SpringBoot+mybatis+bootstrap+jquery+Mysql车险理赔管理系统源码
IDEA+Spring Boot + MyBatis + Layui+Mysql垃圾回收管理系统源码
IDEA+SpringBoot+mybatis+SSM+layui+Mysql学生就业信息管理系统源码
IDEA+springboot+jpa+Layui+Mysql销售考评系统源码
IDEA+Spring + Spring MVC + MyBatis+Bootstrap+Mysql酒店管理系统源码
IDEA+spring boot+mybatis+spring mvc+bootstrap+Mysql停车位管理系统源码

Java+Swing+Mysql实现学生宿舍管理系统

Java+Swing+Txt实现自助款机系统

Java+Swing+Mysql自助存取款机系统

Java+Swing+mysql5实现学生成绩管理系统(带分页)

Java+Swing+Mysql实现超市商品管理系统源码

Java+Swing+Mysql实现通讯录管理系统源码

Java+Swing+Mysql实现图书管理系统源码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/739141.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

十、SkyWalking链路追踪

解决什么问题&#xff1f; 串联整个调用链路&#xff0c;快速定位问题。缕清服务之间的依赖关系。对各个微服务接口的进行性能分析。跟踪整个业务流程的调用处理顺序。 一、skywalking介绍 1、skywalking是什么&#xff1f; skywalking是一个国产开源框架&#xff0c;2015年…

wordpress 单页中子页面列表制作方法

一、目标&#xff1a; 1、父页面显示所有子页面&#xff0c;如果是子页面就显示子页面对应父页面下的所有子页面。 2、选中的子页面链接显示不一样的样式。 二、代码 <?php$current_page_id get_the_ID(); // 获取当前页面的ID// 判断当前页面是否为父页面$is_parent_…

[数据结构 -- 手撕排序第三篇] 冒泡排序

目录 1、常见的排序算法 1.1 交换排序基本思想 2、冒泡排序的实现 2.1 基本思想 2.2 单趟排序 2.2.1 单趟排序分析 2.2.2 单趟排序实现代码 3、冒泡排序完整代码实现 3.1 思路分析 3.2 代码实现 4、时间复杂度 5、优化算法 5.1 优化算法思路 5.2 优化算法代码实现…

【Linux网络】网络基础(一)

Linux网络基础 1 网络背景1.1 网络发展1.2 局域网和广域网 2 认识“协议”2.1 网络协议分层&#xff08;高内聚&#xff0c;低耦合思想&#xff09;2.1.1 高内聚&#xff0c;低耦合简单理解2.1.2 协议分层的简单例子 3 OSI七层模型3.1 TCP/IP五层&#xff08;或四层&#xff09…

前端LayUI框架快速上手实现登入注册

目录 一、Layui简介 1. 什么是LayUI 2. LayUI的特点 二、LayUI入门 1. LayUI下载 2. LayUI入门使用 1. 在web项目中导入LayUI文件中的layui文件 2. 在JSP页面引入css、js文件 3. 制作一个简单的猜字游戏 4.效果展示 三、Layui实现简单登入功能 环境搭建 一、Layui简…

spring boot+MySQL实现班级综合测评管理系统

随着电子技术的普及和快速发展&#xff0c;线上管理系统被广泛的使用&#xff0c;有很多事业单位和商业机构都在实现电子信息化管理&#xff0c;班级综合测评管理也不例外&#xff0c;由比较传统的人工管理转向了电子化、信息化、系统化的管理。 传统的班级综合测评管理系统&am…

运维工具的学习(1)--Curl

1.1 curl简介 ​Curl是一个非常实用的、用来与服务器之间传输数据的工具&#xff1b;支持的协议包括 (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET and TFTP)&#xff0c;curl设计为无用…

Kafka入门,offset的默认维护位置(二十一)

offset的默认维护位置 0.9版本之前&#xff1a;consumer默认将offset保持在zookeeper中 从0.9版本开始&#xff0c;consumer默认将offset保存在kafka一个内置的topic中&#xff0c;该topic为__consumer_offsets __consumer_offsets 主题里面采用key和value方式存储数据&#x…

【谷粒学院】NUXT框架

一、服务端渲染技术NUXT 1、什么是服务端渲染 服务端渲染又称SSR (Server Side Render)是在服务端完成页面的内容&#xff0c;而不是在客户端通过AJAX获取数据。 服务器端渲染(SSR)的优势主要在于&#xff1a;更好的 SEO&#xff0c;由于搜索引擎爬虫抓取工具可以直接查看完全…

【分布式应用】ELK 企业级日志分析系统

目录 一、ELK概述1.1、ELK 简介1.2 为什么要使用 ELK1.3完整日志系统基本特征1.4 ELK 的工作原理 二、ELK Elasticsearch 集群部署2.1环境准备2.2&#xff0e;部署 Elasticsearch 软件2.3安装 Elasticsearch-head 插件&#xff08;1&#xff09;编译安装 node&#xff08;2&…

任务六:LTE-Advanced 关键技术

LTE-Advanced 关键技术 一、载波聚合&#xff08;Carrier aggregation&#xff0c;CA&#xff09;二、多天线增强&#xff08;Enhanced Multiple Antenna Transmission&#xff09;1、上行多天线增强2、下行多天线增强。 三、协作多点传输&#xff08;Coordinated Multiple Poi…

buu刷题Reverse总结

[FlareOn1]Bob Doge 是一个C#编写的程序&#xff0c;在dnspy中打开&#xff0c;找到主函数&#xff0c;可以看到大致逻辑 不知道dat_secret的值&#xff0c;动态调试看看 DnSpy动态调试&#xff1a; 在主函数中添加断点&#xff0c;调试&#xff0c;因为本题的fag形式为&…

spring 自带的校验框架使用

引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId></dependency>编写规则 开启校验

springboot+mysql财务管理系统

财务管理系统的开发运用java技术、springboot框架&#xff0c;MIS的总体思想&#xff0c;以及Mysql等技术的支持下共同完成了该系统的开发&#xff0c;实现了财务管理的信息化&#xff0c;使员工体验到更优秀的财务管理&#xff0c;管理员管理操作将更加方便&#xff0c;实现目…

消息队列篇面试题

一、MQ基础 1.1、为什么使用MQ&#xff1f;MQ的优点 简答 异步处理 - 相比于传统的串行、并行方式&#xff0c;提高了系统吞吐量。 应用解耦 - 系统间通过消息通信&#xff0c;不用关心其他系统的处理。 流量削锋 - 可以通过消息队列长度控制请求量&#xff1b;可以缓解短时间…

(vue)vue项目实现语音播报

(vue)vue项目实现语音播报 解决参考1&#xff1a; 在 Vue 项目中&#xff0c;你可以使用 Web Speech API 中的 SpeechSynthesis 接口来实现文本内容的自动朗读。下面是一个示例&#xff1a; 1.在 Vue 组件的模板中添加一个按钮&#xff0c;用于触发朗读&#xff1a; <templa…

Appium+python自动化(二)- 环境搭建—下(超详解)

简介 上一篇android测试开发环境已经准备好&#xff0c; 那么接下来就是appium的环境安装和搭建了。 环境装好后&#xff0c;可以用真机连电脑&#xff0c;也可以用android-sdk里面的模拟器&#xff08;当然这个模拟器不是很好用&#xff09;&#xff0c;我一般喜欢真机&#…

【QT】——布局

目录 1.在UI窗口中布局 2.API设置布局 2.1 QLayout 2.2 QHBoxLayout 2.3 QVBoxLayout 2.4 QGirdLayout 注意 示例 Qt 窗口布局是指将多个子窗口按照某种排列方式将其全部展示到对应的父窗口中的一种处理方式。在 Qt 中常用的布局样式有三种&#xff0c;分别是&#xff1…

CRM 软件如何帮助企业改善营销活动?

一场富有成效的营销活动&#xff0c;是在正确的时间将正确的信息传递到正确的受众面前。为此&#xff0c;你必须充分了解对潜在客户和现有客户的需求&#xff0c;然后创建满足这些需求的营销活动。 CRM 软件和工具可以帮助营销团队收集和分析受众数据&#xff0c;以建立更有效的…

如何在Windows的优化驱动器工具中优化驱动器

​优化硬盘是提高电脑性能的最佳方法之一。Windows 包括一些功能,可以帮助优化电脑目前使用的不同类型的驱动器。无论你的电脑使用哪种类型的驱动器,Windows 都会自动选择适合你的驱动器的优化。 默认情况下,优化驱动器(以前称为磁盘碎片整理程序)会在自动维护中设置的时…