Java毕业设计之BOOT客户管理系统(附带源码链接)

1. 系统概述

1.1 系统功能介绍:

系统后台使用SSM框架编写,前台页面使用主流的Bootstrap和jQuery框架完成页面展示功能。
主要实现了两大功能:用户登录模块(用户登录及验证、退出登录)、客户管理模块(查询客户及分页展示、添加客户、修改客户、删除客户)。

1.2 系统架构设计:

  • 持久对象层(也称持久层或持久化层):该层编写若干持久化类(实体类)。主要是方便使用数据库中的数据表
  • 数据访问层(DAO层):该层编写DAO接口和MyBatis(Mapper)映射文件。规则:接口的名称统一以Dao结尾。且MyBatis(Mapper)映射文件的名称要与接口名称相同
  • 业务逻辑层(Service层):该层编写Service接口和实现类组成。规则:接口的名称统一以Service结尾,其实现类名称统一在接口名后加 Impl。主要用于实现系统的业务逻辑。
  • Web表现层:该层主要包括Spring MVC中的Controller类和JSP页面。Controller类主要负责拦截用户的请求,并调用业务逻辑层中相应组件的业务逻辑方法来处理用户请求,然后将相应的结果返回给JSP页面。
  • 分层是为了高内聚低耦合。

1.3 文件组织结构

请添加图片描述
请添加图片描述

其中utils:用于分页、interceptor:自定义拦截器

1.4 系统开发环境:

               操作系统windows
               web服务器Tomcat8.5
               Java开发包JDK8
               开发工Eclipse Java EE IDE for Web Developers
               数据库MySql5.5
               浏览器谷歌当下最新版

2. 数据库设计:

请添加图片描述
请添加图片描述

3.从搭建环境、开始编码、进行测试、-------- 开发时间流程表与一些小结

‎2019‎年‎5‎月‎8‎日,‏‎23:16:58
创建工程,开始配置环境:

  • 收集35个架包和jquery-1.11.3.min.js包

  •  a.配置spring文件(applicationContext.xml),包括读取db.properties及配置数据源(数据库驱动,URL库名,用户名和密                                 码,最大连接数,最大空闲连接,初始化链接数。)、事务管理、通知、切面、mybatis的工厂(数据源、核心文件位置)、接口开发                             扫描和扫描注解。<br>
     b.配置数据库文件(db.properties),数据库驱动,URL库名,用户名和密码,最大连接数,最大空闲连接,初始化链接数。<br>
     c.配置日志文件(log4j.properties)<br>
     d.配置mytatis文件(mybatis-config.xml),配置别名"com.yanan.core.po"<br>
     e.配置资源文件(resource.properties)<br>
     f.配置springMVC文件(springmvc-config.xml),加载resource.properties、配置扫描器、注解驱动(配置处理器映射和适配                               器)、配置静态           资源访问的路径(前端控制器用于不被拦截)、视图解析器。<br>
    

3.配置web.xml,包括spring监视器、编码过滤器、springMVC前端核心控制器、服务器启动后立即加载springMVC配置文件、系统默 认页面。


2019‎年‎5‎月‎9日

  • 正式开始

2019‎年‎5‎月‎11日

  • 实现登录功能–先在po层创建持久化类User继承Serislizable(序列化),定义属性并获取getset方法,其次实现DAO接口UserDao接 口和映射文件查询数据库的用户信息,在实现Service层,编写一个接口,里面编写通过账号和密码查询用户的方法,并编写接口的实现 方法,之后实现Contorller,获取页面传来的账户和密码,进行验证并跳转,最后实现前端页面,加为空验证–

    问题1:中文账号无法登陆  解决办法在数据库配置文件的url后面加上:?useUnicode=true&characterEncoding=utf8&useSSL=false

2019年5月16日

  • 实现查询功能

    问题2:弹出框直接显示  什么原因呢?可能和CSS代码有关(因为 没有敲CSS相关代码)。和询问老师后得知是因为:bootstrap引入错误。另外加上了CSS文件,全部是网上找的

2019年5月23日
11:44项目正式结束


2019年5月18日
  • 实现添加功能

    问题3:添加信息里面的中文在数据库中显示乱码???解决办法在数据库配置文件的url后面加上:?useUnicode=true&characterEncoding=utf8&useSSL=false


    2019年5月19日
  • 实现修改功能

    发现书上代码缺少editCustomer(),但是与点创建客户按钮会执行的createCustomer()方法及其相似--
    缺少代码如下:
    function updateCustomer() {
    . p o s t ( " .post(" .post("{pageContext.request.contextPath }/customer/update.action",
    $(“#edit_customer_form”).serialize(),function(data){
    if(data == “OK”){
    alert(“客户修改成功!”);
    window.location.reload();
    }else{
    alert(“客户修改失败!”);
    window.lacation.reload();
    }
    }
    );
    }


    2019年5月19日23:36
  • 实现删除功能并完成测试(每写一点就测试一点),至此项目基本完成,功能全部实现,测试全部完成,功能没有问题。只是前端 页面HTML结构和内容都有,但是没有CSS样式(渲染),JavaScript行为不够完善

    问题二仍没有得到解决办法–网上查了一下,也没有解决。送给自己一段话:不要 用行动上的勤奋掩盖战略上的懒惰,我们既要埋头苦学,也要抬头看路。勤奋不是机械式的照着课本敲代码,不加理解的模仿与复制。而 是分析思考,刨根问底,追本溯源,将知识内化,进而运用。因此勤奋应该是内心真正的渴望和热枕。知意难行,道理懂得再多不行动也无 法带来改变。知行合一才是王道,下定决心,此刻就采取积极有效的行动,并持续为之努力奋斗,才能真正改变一切。终有一天,你会成为 你想的那个人


    对数据字典不是很理解

    数据库的数据是网上找的

小结:1.系统层次结构(持久层po编写持久化类,一般直接对接数据库属性,多用于查询功能;
DAO层编写DAO接口和映射文件.xml多是SQL语句;
Service层编写service接口和实现方法涉及到业务逻辑,调用DAO层;
Web表现层编写Controller类拦截用户请求,并调用service层相应组件来处理用户请求,并回传给jsp,jsp页面实现HTML静态页面、 JavaScript动态页面、CSS渲染)

小结:2.正常开发顺序从持久层,到DAO层,再到Service层,最后web表现层这样的开发过层逻辑清晰,思路明确; 但是有一种省事的开发过程就是逆向开发先,之所以简单是因为很多代码提示功能都可以自动补全(只需要写web表现层controller中的内 容,可以自动生成service层的接口和接口的实,实现一般需要修改,也可以生成DAO层的接口,mybatis映射文件也可以生成但是需要编写 逆向工程文件,生成的都是单表的操作。)个人目前认为逆向开发确实好,但是也有缺点一些小的提示没有了,鉴于目前业务流程业务逻辑还不 是很清楚还是先用正向开发吧,逆向开发作为了解

4、效果图:

请添加图片描述
请添加图片描述
请添加图片描述

5、项目源码

项目源码下载地址(点击即可跳转)

ending 2019年5月25日17:06:29

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小白de成长之路

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

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

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

打赏作者

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

抵扣说明:

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

余额充值