【SSM学习】5、SSM 客户管理系统

本文介绍了一个基于Spring、SpringMVC、Mybatis和Bootstrap构建的客户管理系统,详细讲解了系统架构、依赖版本、数据库设计及Lombok插件的使用,为初学者提供了全面的学习资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SSM 客户管理系统

源码地址:https://github.com/Tellsea/ssm

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

SSM 客户管理系统是基于 SSM 搭建的客户管理系统,其中为了便于新手学习,采用了jsp页面,bootstrap作为基础,pagehelp作为分页插件,这样能使大家更容易的掌握。

依赖

依赖版本
Spring5.0.2.RELEASE
Spring MVC5.0.2.RELEASE
Mybatis3.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方法

项目预览

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

微信公众号

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Tellsea

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

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

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

打赏作者

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

抵扣说明:

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

余额充值