毕业设计——基于SSM+mysql架构搭建的客户管理系统

基于SSM+mysql架构搭建的客户管理系统

采用的主要框架为:Spring + SpringMVC + Mybatis + Bootstrap。

SSM 客户管理系统是基于 SSM 搭建的客户管理系统,其中为了便于新手学习,采用了jsp页面,bootstrap作为基础,pagehelp作为分页插件,这样能使大家更容易的掌握。
依赖
依赖 版本
Spring 5.0.2.RELEASE
Spring MVC 5.0.2.RELEASE
Mybatis 3.4.5
PageHelp 分页插件 5.1.4
Druid 数据源 1.1.16
Lombok 插件 1.18.8
Mybatis 逆向工程 1.3.7
表设计
用户表

这里为了简洁,用户模块只设计了账号和密码,主要用于登录,当然,你可以多增加一些属性,作为后期的用户信息的维护。

CREATE TABLE tb_user (
id bigint(20) NOT NULL AUTO_INCREMENT,
username varchar(255) DEFAULT NULL,
password varchar(255) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

客户表

相关的客户信息,同样的可以自己增加,这里我就不再阐述。

CREATE TABLE tb_customer (
id bigint(20) NOT NULL AUTO_INCREMENT,
name varchar(255) DEFAULT NULL,
phone varchar(255) DEFAULT NULL,
email varchar(255) DEFAULT NULL,
address varchar(255) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8;

插件
逆向工程

用于快速生成开发中不断重复的代码,比如说实体类,映射层接口,以及Mybatis XML文件的编写,只需要提供数据库连接的jar地址,数据库名称,账号密码即可一键生成:实体类,Mapper接口,Mapper映射文件。

其中已经帮我们生成了基本的增加、删除、更新方法。下面简单的说明一下方法的作用:
方法名称 方法作用 方法说明
selectByPrimaryKey 根据主键查询 主键是必须的参数
deleteByPrimaryKey 根据主键删除 主键是必须的参数
insert 插入一条数据, 除了id之外,必须要有每个字段值
insertSelective 插入一条数据 只会插入不为空的字段
updateByPrimaryKeySelective 根据主键更新数据 更新的是传入参数不为空的字段
updateByPrimaryKey 根据主键更新数据 更新所有字段
Lombok 插件

lombok 提供了简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 java 代码。通过使用对应的注解,可以在编译源码的时候生成对应的方法,所以不会影响任何运行效率。

下面是简单的举例说明:

import lombok.Data;

@Data // 这个注解已经提供了get,set方法
public class Customer {
private Long id;

private String name;

private String phone;

private String email;

private String address;

}

常用Lombok注解
注解名称 注解使用位置以及作用
@Data 注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法
@Setter 注解在属性上;为属性提供 setting 方法
@Setter 注解在属性上;为属性提供 getting 方法
@Log4j 注解在类上;为类提供一个 属性名为log 的 log4j 日志对象
@NoArgsConstructor 注解在类上;为类提供一个无参的构造方法
@AllArgsConstructor 注解在类上;为类提供一个全参的构造方法
@Cleanup 可以关闭流
@Builder 被注解的类加个构造者模式
@Synchronized 加个同步锁
@SneakyThrows 等同于try/catch 捕获异常
@NonNull 如果给参数加个这个注解 参数为null会抛出空指针异常
@Value 注解和@Data类似,区别在于它会把所有成员变量默认定义为private final修饰,并且不会生成set方法

项目展示:
在这里插入图片描述
在这里插入图片描述
SQL部分源码:

/*
Navicat Premium Data Transfer

Source Server : localhost
Source Server Type : MySQL
Source Server Version : 50713
Source Host : localhost:3306
Source Schema : ssm

Target Server Type : MySQL
Target Server Version : 50713
File Encoding : 65001

Date: 05/06/2019 15:52:39
*/

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;


– Table structure for tb_customer


DROP TABLE IF EXISTS tb_customer;
CREATE TABLE tb_customer (
id bigint(20) NOT NULL AUTO_INCREMENT,
name varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
phone varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
email varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
address varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
PRIMARY KEY (id) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 12 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;


– Records of tb_customer


INSERT INTO tb_customer VALUES (1, ‘张三丰’, ‘18386545500’, ‘3210054449@qq.com’, ‘贵州省贵阳市观山湖区云潭南路3号’);
INSERT INTO tb_customer VALUES (2, ‘王歌’, ‘13498066695’, ‘1234566@cn.gg’, ‘北京市海淀区中关村北大街清华大学’);
INSERT INTO tb_customer VALUES (3, ‘刘子昂’, ‘16509899000’, ‘42394023@dd.cn’, ‘贵州省普安县窝沿乡关田村红花组’);
INSERT INTO tb_customer VALUES (5, ‘韩信’, ‘13498066695’, ‘42394023@dd.cn’, ‘贵阳市南明区富源中路龙家寨’);
INSERT INTO tb_customer VALUES (6, '上官婉儿 ', ‘18594945860’, ‘42394023@dd.cn’, ‘贵州省遵义市务川县涪洋镇当阳村鱼田溪组’);
INSERT INTO tb_customer VALUES (7, ‘李白’, ‘13498066695’, ‘42394023@dd.cn’, ‘贵州省安龙县栖凤街道办事处西河村段石街组116号’);
INSERT INTO tb_customer VALUES (8, ‘妲己’, ‘18594945860’, ‘1234566@cn.gg’, ‘贵州省纳雍县百兴镇新街村新街组’);
INSERT INTO tb_customer VALUES (9, ‘蔡徐坤’, ‘18594945860’, ‘560000@11.com’, ‘贵州省普安县青山镇范家寨村黑树林组’);
INSERT INTO tb_customer VALUES (10, ‘迪丽热巴’, ‘18386474459’, ‘1234566@cn.gg’, ‘贵州省罗甸县逢亭镇拱里村二组15号’);
INSERT INTO tb_customer VALUES (11, ‘刘亦菲’, ‘13498066695’, ‘1234566@cn.gg’, ‘贵州省凯里市西门街梁子巷’);


– Table structure for tb_user


DROP TABLE IF EXISTS tb_user;
CREATE TABLE tb_user (
id bigint(20) NOT NULL AUTO_INCREMENT,
username varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
password varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
PRIMARY KEY (id) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;


– Records of tb_user


INSERT INTO tb_user VALUES (1, ‘tellsea’, ‘123456’);

SET FOREIGN_KEY_CHECKS = 1;

  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
一、项目简介 本项目是一套基于SSM的客户资料管理系统/客户关系管理系统,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本、软件工具、项目说明等,该项目可以直接作为毕设使用。 项目都经过严格调试,确保可以运行! 二、技术实现 ​后台框架:Spring、SpringMVC、MyBatis ​数据库:MySQL 开发环境:JDK、Eclipse、Tomcat 三、系统功能 该客户资料管理系统/客户关系管理系统以实际运用为开发背景,采用Eclipse开发工具,Java开发语言,使用JSP设计页面,Tomcat服务器作为Web服务器,数据的存储使用MySQL数据库,从而保证系统的稳定性。系统设计按标准化、规范化,分层设计,构件化进行相关功能的实现。 本系统主要分为三种角色,分别是:管理员、客户经理、营销主管,其功能如下: 1)管理员 管理员的主要功能包括:员工信息管理、产品信息管理、客户信息管理、服务信息管理、交易信息管理、客户来源管理、支付方式管理、产品类型管理、职位信息管理、服务类型管理、客户等级管理、客户开发进度管理。 2)客户经理 客户经理的主要功能包括:产品信息管理、客户信息管理、服务信息管理、交易信息管理、基础信息查询。 3)营销主管 营销主管的主要功能包括:员工信息管理、产品信息管理、客户信息管理、服务信息管理、交易信息管理、基础信息查询。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

毕业小助手

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

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

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

打赏作者

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

抵扣说明:

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

余额充值