银行卡管理系统的设计与实现_第1页
银行卡管理系统的设计与实现_第2页
银行卡管理系统的设计与实现_第3页
银行卡管理系统的设计与实现_第4页
银行卡管理系统的设计与实现_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

银行卡管理系统的设计与实现关键字数据库系统开发信息系统SQLJava语言KeywordsDatabasesystem 1 1.1需求分析 21.2可行性分析 21.3功能分析 31.4开发步骤 32系统设计 42.1概述 42.2系统的数据流图 42.3系统的功能 42.4数据库设计 52.4.1数据库需求分析 52.4.2概念设计 62.4.3数据库逻辑结构设计 82.5用户界面设计 92.5.1系统安全性验证用户界面设计 92.5.2系统主屏幕的区域设计 93系统编码与实现 3.1硬件的选择 3.2软件的选择 3.3系统的主要文件及目的 3.4创建普通用户系统管理模块 3.4.2创建“功能菜单” 3.4.3创建“存款功能” 3.4.4创建“取款功能” 3.4.5创建“转账功能” 3.4.6创建“交易记录查询”和“余额查询” 3.4.7创建“个人信息”和“密码设置” 3.5创建管理员的登录模块 3.5.1创建“管理员的登录” 3.5.2创建“功能菜单” 3.5.3创建“冻结,删除功能” 3.5.4创建“查询冻结和启用账户功能” 3.6工具栏 4系统运行与调试 4.1系统的配置 4.2系统的运行 4.3系统的调试 结论 致谢 参考文献 附录部分核心代码 1引言本次的系统开发是银行卡管理系统,这个系统是对一些基础银行卡基础业务的管理,是面向所有群体以及银行的管理员。接下来分析此次银行卡管理系统的研究意义以及研究设想。传统的人工管理已经被社会证明为效率极低的管理方式,对于一些企业来说,信息交流沟通如果不能及时回应,往往会带来很负面的影响。然而对于银行的管理者来说,及时的了解资产负债等重要信息,将非常有利于管理层人员及时制定有效的应对措施,避免一些多余的损失。随着计算机的流行,经济社会的发展。手机支付代替了货币的交易,网上购物代替了实体店的购物,就连原来的课堂学习都变成了线上的网络学习。因此,许多人工的工作会慢慢被计算机银行以及用户都追求更高的效率,并且还要求做到种类的丰富以及复杂度的提高。银行卡管理系统的出现解决了这个问题,这是一种新型的管理系统,可以降低操作复杂度和出错率从而提高工作效率。如今处于信息时代,互联网使得整个世界成为一个联系日益紧密的群体。银行想要在这个领域里站稳脚跟,就必须跟随时代的发展不断创新。管理信息系统便是实现这一目标的有效手作为一个毕业设计,本次设计的管理系统在完成的功能上还有些欠缺。最初需要建立的用户表格只有四个,但是表与表之间的联系还是很密切的,这个就需要对数据库有熟悉的了解和应用。所以完成这个项目,要不断提高数据库设计的标准和编程能力,这两个基本功缺一不题目可以不断训练在这两方面知识的表达。本信息管理系统是利用网络技术,实现对银行卡的管理。本系统致力于减少银行内人员的工作量,便于与银行客户的交流,不再是通过语言口头形式的传达,而是计算机的操作。及时反映出用户需求,提高在人工管理上的效率低的问题,银作人员也能节省人力。减少了工作量上的要求,银行工作人员可以解决计算机做21.1需求分析随时代发展的一种趋势,管理系统的不断研发和跟进是十分必要的。息。在账户业务部分,可以查询用户的信息,包括各种基本信息、余额、账单等。在操作完成之后依旧可以存储相应的操作纪录并能够查询操作纪录等功能;在信息操作部分,有修改个人信息行某些账户的开户及冻结等;在信息操作部分,有修改和查询的功能。1.2可行性分析系统的可行性分析可以分成三个方面的问题。首先是技术可行性分析,运用到的工具是IDEA,需要掌握的是java语言的编写以及对数据库的了解。在校期间,我校开设的课程在Java和数据库运用方面已经有了学习,可以充分利用到本次项目中。然而,学习所学的学术性已经掌握,我还缺乏了开发经历。在大四下学期,我去驰星进行了三周的实训,小组完成了一个购物车管理系统。这个项目从接触到完成,我学会了很也有在代码书写中的规范性问题。因此,这个项目的开发在知识需求上我是具备的。开发系统的计算机硬件已经十分普及,在一般的电脑上都能够实现,同时还要求存储空间的要求,这两个要求达到的话,硬件方面运行以及编写代码是完全没有问题的。用到的工具是IDEA,这是一款与Eclipe十分相似的工具,在使用方面因此这个经济可行性是不予考虑的。这个项目的开发是可以执行的。最后是运行可行性分析,需要考虑到面向的群体户是各类人群,有一些高学历的或者低学历的或者是老人等,因此要考虑到是方便简单的操作。3其次还需要有专业的人员指导,可以在这个系统运行时在银行配备工作人员,当用户遇到操作困1.3功能分析率,首先需要改进的就是人工的功能办理。使用计算机来管理银行卡可以大大增加管理的效率,还可以利用计算机管理丰富在各个方面功能上的多样化。(1)用户可以进行简单的转账、取款、存款以及密码修改等功能;(2)管理员可以进行账号的冻结和解冻以及密码修改等功能。接下来,经过了一系列的对功能上的分析,可以简单列出数据库的构建:(1)用户信息表:包括编号,密码,姓名,余额,启用状态以及扮演的角色等。(2)个人信息表:包括用户编号,姓名,年龄,性别,地区,电话,卡号等。(3)菜单表:包括编号,功能名,所在界面位置,用户权限管理等。(4)转账交易表:包括编号,转账或者是存款操作,操作对象,时间,金额等。(1)有详细的设计说明书;(2)模块在功能上的流程图要很清晰,即使是不懂代码的人看到流程图也能知晓这个项目(3)系统能正常运行;(4)系统在界面设计上,要有简洁的界面,用户和管理员都方便操作。1.4开发步骤可行性进行分析,主要分析本次项目的进行完成度,确保在软件和硬件以及知识储备上达到开发的要求;第二个步骤的要求是概要设计,主要实现取款子系统,个人信息子系统,管理员系统和用户系统四个部分,主要从四个方面实现对银行卡的管理;第三个步骤的要求是详细设计,在分析了系统的需求后,能够确定开发应用到的软件和硬件,准备好数据库的建立以及整个界面开发的美观和简洁性。这里确定了系统的主要功能,需要反复核对和确认。每一个步骤都不能马虎,42系统设计卡的一些信息,通过后台对数据的处理将有用信息反馈给给银行或普通办理业务的客户。这个系统在各个方面都能超越人工的处理效率。银行卡一种普遍的支付工具,日常生活中这是必不可少的额,例如,我们可以在银行进行存款取款以及转账等功能。随着网络以及计算机的不断发展,行卡的管理还是十分重要的,它需要做到基本的查询以及存取款服务。如果是单纯以的自己的知识来看,银行对每个用户的交易信息的处理量是一个十分复杂的问题,但是如今便捷的网络条件为银行卡的管理提供了有利的技术条件。这些快捷的方法使得这个系统的运行更加必要。2.2系统的数据流图数据库之前,可以将总的数据流图整理出来,如图1所示。形有靴资舞数据流数据流图1系统数据流图2.3系统的功能经过了对知识进行理解和整个系统应该要具备的功能进行初步的规划后,本系统应具备开5户,存款,取款,转账,查询交易,修改密码等功能,得出结构如图2所示。修改密码修改密码启用账户冻结账户开户所有账户修改密码个人信息余额查询交易记录信息设置账户信息管理员存2.4数据库设计数据库的基本步骤就是:创建数据库、创建各个所需要的表、附加约束条件(有字符类型的约束和字符的限制)、创建需要登录的账户信息。数据库需要设计的功能有增、删、改、查,这些基本的功能在本次项目中都有充分的表达。由此看来,数据库的创建的好与坏是十分重要的,好的数据库创建完成后,可以将整个系统的功能进行连接并且实现所需信息的页面跳转。在设计数据库系统时,要不断更新各个方面用户的不同需求,可以进行一个简单的调查后确定所需要实现的功能。在调查时也应该注意到人群的分布,不同群体的需求是不同的。只有了解数据库创建过程中的这些问题和要求,才能够实现功能强大的查询以及复杂的业务规则。2.4.1数据库需求分析在本项目中,主要是银行管理员和普通操作人员。整个系统可以进行查询、保存、更新和查询。这里就牵涉到我们需要先收集一些基本的数据,如个人信息,姓名,电话等等。接着可以对数据进行处理,形成一份全面的并且完整的数据字典。数据字典是一个为后续数据库创建提供便利的工具,在这个阶段如果仔细完成,后面的工作将更加的简洁。62.4.2概念设计在对项目的概念设计阶段,作为一个开发者,要从用户的不同角度来看对数据的处理,在处理数据之后会有一个概念模式的产生,利用这个概念模式可以对整个系统再一次进行分析,最终的目的是把它转化成在项目中体现的概念。如果这样,将概念设计从设计中独立开来,使各阶段的任务变得更加简单化,表现为由粗到精、由模糊到清晰、由抽象到具体的不断跟进。在本项目中,初步可以设置数据库的E—R模型图,保证各个信息是正确并完整的。首先要做的就是设计好局部的E-R模式,然后把各局E-R模式,综合转换成一个全局模式,最后优化修改得到最终概念模式。图3、图4、图5。编号个人信息名字密码编号编号姓名年龄用户性别电话地区卡号图3个人信息实体图图4用户信息实体图7编号编号姓名编号年龄存储对象转账信息时间金额性别功能名用户权限执行菜单用户记录姓名编号密码包括地区卡号编号电话8图5总体的实体ER图2.4.3数据库逻辑结构设计数据库概念结构设计完成后,可以将E-R图转换成多张表格,进行逻辑设计。可以将上面的数据库概念转化为某种数据库系统所支持的实际数据类型。在银行卡管理系统中使用的各个数据表的字段设置如表1、表2、表3、表4:字段名类型长度可否为空小数点说明否0主索引字段040080000表1个人信息表(personinfo)字段名类型长度可否为空小数点说明否0主索引字段00000000表2菜单表(f_menu)字段名类型长度可否为空小数点说明否0主索引字段00200表3用户表(account)字段名类型长度可否为空小数点说明否0主索引字段00290002.5用户界面设计的界面与方式等。由于本系统的最终用户是各种各样的群体,有老人和精通设计的专业人员,因此本系统需要简洁。所以在本系统上,采用了直接登录和点击的方式。2.5.1系统安全性验证用户界面设计登录本系统,用户将看到如下画面(如图6所示):图6用户登录界面图2.5.2系统主屏幕的区域设计在对主屏幕进行设计时,可以把界面划分成几个不同的区域,其中有工作区,状态信息区以及主菜单区,如表5所示:主菜单区主要有执行的业务工作区记录当前执行业务的进度以及历史记录中间是具体的业务的工作流程右下角显示页数表5区域设计表3系统编码与实现3.1硬件的选择在硬件的选择上,我们选择了Windows平台作为开发、测试和运行的平台。和其他操作平台在为了方便的前提下,大多数人还是会选择Windows。如果选用它作为开发平台,要功能的添加上会更加方便,如果软件更新时也会比较节约时间。3.2软件的选择在学校我们学习使用eclipse操作并管理数据库,但是我发现它也有缺点。在实习的这段时间,我接触到了IDEA,最后经过认真分析两者的不同,结合银行卡管理系统的需要和目前的硬件环境,我们选用IntelijIDEA作为软件开发工具。IDEA相比eclipse有以下几方面的优点:类似于eclipse中的project。IDEA在建立工程时是十分方便快捷的。在其他人的帮助下解到,代码的工程化会使项目在运行上更通俗化。简而言之就是,就算是外行来运行,可以在一(2)在开发效率上十分快速。IDEA可以在任意的代码界面提示相关值,遇到棘手的情况也能快速解决。在一些基本的单词和语法上,计算机会自动提示所在的语法行或者位置,而且可使用,首字母的提示就是一个简单的体现。在代码编写的过程中速度是十分快捷的,并且能做到准确报错。如果不小心将单词输入错误,将不会出现下一步的提示,这就说明在前面的代码中出3.3系统的主要文件及目的系统主要文件及目的如表6所示。文件作用发送一个请求,将用户执行的操作数据发送给前端,主要的是进行页面的设计文件作用用来寻找在类下面的函数的具体实现,可以找到具体运行的方法声明几个对应数据库的类,利用私有方法对.xml页面下的操作进行实现和部分调用对应xml文件执行,这里面是在sql语言执行的情况下,给出具体的函数并且执行回的信息作相应的处理3.4创建普通用户系统管理模块3.4.1创建“系统登录”系统登录的界面主要由一个“登录”按钮构成,运行界面如上一章图2-6所示。【登录】(1)输入用户和密码信息。(2)在登录界面中,当账号密码不为空时,对后台发送一个请求,将账号密码以及角色发用findByUser()方法,对应判断是否密码账户的正确性,最后进入系统。(3)在密码的输入上需要正确才能进入系统。(4)其中角色方面可以选择是普通用户和管理员。3.4.2创建“功能菜单”“个人信息”和“密码修改”按钮构成,界面如图7所示。单参报行业务4安图7功能菜单图菜单的主要实现:首先执行getA11方法,返回类型为list,list里面以menu存储,通过对菜3.4.3创建“存款功能”【存款】按钮实现过程为:首先声明一个TransactionConttoller的公共类,然后赋予它一个depoist的值,利用ajax找到里面两个参数,判断是否符合大于0的存款要求,符合就将这个trmoney传给所在name,显示操作成功,否则操作失败。(如图8)图8存款功能图3.4.4创建“取款功能”【取款】按钮实现过程为:首先声明一个TransactionConttoller的公共类,然后赋予它一的用ajax找到对应参数,判断取款要求需要大于0并且小于等于余额里的值,否则取款失败。(如图9所示)。两w图9取款功能图3.4.5创建“转账功能”【取款】按钮实现过程为:首先声明一个Transactio个在transfer的值,找到这个文件下的函数,可以看到使用了result()的公共类,然后赋予它一利用findbalance()方法,判断是否符合转账条件,如果statue==0,则执行转账功能,否则转账失败。(如图10所示)。内四西取称入存教●转蟹·图10转账功能图3.4.6创建“交易记录查询”和“余额查询”【交易记录】【余额查询】按钮实现过程为:首先声明一个TransactionConttoller的公共类,然后赋予它一个在allTrans的值,找到这个文件下的records函数,这里是根据session找到所有交易记录,返回Trans列表,列表中可以查到具体的记录以及余额。(如图11,图12所示)。B1交期金元》交期金元》轴他工1用户名4照户状态扇用图12余额查询图3.4.7创建“个人信息”和“密码设置”回给ftl,ft1根据返回的信息作相应的处理。密码修改时,用到一个changepassword方法判断修改的密码是否符合规范,全空则提示不能为空;新密码和输入密码不一样时则提示两次密码不一致;符合规范则提示密码修改成功。(如图13所示)。V育实班名:QQ年龄10图13密码设置图3.5创建管理员的登录模块3.5.1创建“管理员的登录”同普通用户的登录过程一样,如图14所示。管理员上图14管理员登录表3.5.2创建“功能菜单”码修改”按钮构成,实现过程和普通用户执行过程一样。界面如图15所示。P图15创建的功能菜单图3.5.3创建“冻结,删除功能”【冻结】按钮实现过程为:首先声明一个PersonController的公共类,然后赋予它一个在Allperson的值,找到这个文件下的StopPerson函数。执行的是获取所有人员信息list,将所选的一行进行删除,并修改statue的值。(如图16所示)。¥$y国下p2●2m解卷辩基基小工身州广州市区49712*19050011454晓器所雨就雨出用3.5.4创建“查询冻结和启用账户功能”【查询】按钮实现过程为:声明一个PersonController的公共类,然后赋予它一个在Allperson的值,找到这个文件下的OpenPerson函数。将其中的内容赋值叫map,最后输出到界面。(如图17、图18所示)。二已A结瓶产请情卷触产条数元0姓名芹燕某她址材卖图17查询冻结图磁办州制每子且与结解户七正其独广,2主38湘产名融卢本断无:踏书烟震宁多笼需册广他无河区广他子同区牌做证密用要用群用船用盘用密用商用图18启用账户图【开户】按钮实现过程为:首先声明一个SubmitInfo的公共类,将它设置在一个叫personvo的对象里面,对里面的用户名设置权限,其中i=0为初始值,i<=4000,名字可以用中文和英文,其他约束条件还有:personV0.setCardid("47546119930457"personVO.setTelephone("1557594"+(1000personVO.setSex(rd+"personService.submitInfo(perso如果没有达到条件,则显示数据插入失败,具体实现界面如图19所示。答用户名两年龄;性触图19开户功能图3.6工具栏3.6工具栏【注销】的功能:退出信息管理,连接到login界面。【锁屏】【解锁】按钮的实现过程:锁屏时使用getlock()方法,将页面不可实现跳转。解锁时使用unlockSubmit()方法,首先判断获得一个close的命令,出现解锁提示,跳转并使用getuserName()方法,连接到登录界面,输入密码后,查询对应表单的密码是否正确,正确(如图20和图21所示)信用卡管理系统1rm产行图20工具栏展示图解锁密码:图21解锁界面图4系统运行与调试4.3系统的调试程序调试是在程序运行之前,利用人工的方法,例如手动编译的方法对代码进行修改,可以修正代码在逻辑和语法上的一些错误。在这个过程中可以完善程序的可读性,将程序出现错误的地方进行修改,要保证运行和调试时都不会出错。程序对于语法和逻辑的要求是非常高的,就算运行成功,但是一旦出现问题,整个系统就会崩溃。例如游戏的一些服务器卡顿瞬间,都是代码的不完善导致的。如果可以根据测试时所发现的错误,进一步诊断,找出出错误位置进行修正,那么就能减少后期会出现的风险问题。修改代码是十分复杂的,因此要在代码完成时立刻进行检测。在常见的调试中,我们通常会出(1)在程序中插入简单的测试语句或者打印。这样方便对源程序进行调试,但是缺点是效率低,再每一次的打印后会生成一些无关的数据,这个过程是十分复杂的,因此不可取。当然,我们依旧可以做到在每一个语句后面加入一个return测试,例如:publicStringtoLog(2)运行部分程序。有时只是一段代码的的问题,如果整个程序运行的话十分消耗时间和精力,因此我们可以运行部分代码,以此提高效率。第一步在这里显然就有些复杂了,因为打印的效率低,我们需要将每一个语句一遍遍打印,所有后面的我实行了一次性的运行,将一个版块的程序写完后就运行一次,这样提高第一步骤中效率低的问题。其中最突出的问题就是大小写的字母大写,我们可以直接等软件提示,因为每一个正确的代码,他都会提示所有调用的函数。借助自带的调试工具。一般来说,程序设计语言都有专门的调试工具,调试的人员可以用这些工具来分析程序的动态行为。Java可以利用debug来进行最后的调试。由于本项目最后的运行十分顺利所以没有用到调试工具。本次的毕业设计完成了用户存款和取款的一系列银行卡最基本的功能,基本上满足了银行对通过本次的毕业设计,我对Java和数据库技术的相关知识有了更深刻的了解,现在的我已经能够运用sql语言和使用Java程序来访问Access数据库。在计算机流行的时代,掌握Java岗位。当然,我们所学的知识还是远远不够的。在课余之际,我也看了很多关于java语言的知识,学好一门计算机语言并不是那么简单的。该设计还是存在着很多问题的,比如在设计程序的符流的异常,在上网查询后才发现是数据库里设置数据景中,不需要把所有字段都设置的非常长,这会造成短暂的资源浪费,导致输入的字符被截断,因此要检查管理员的登录状态,或者唯一甚至多个管理员的信息状态。如果出现密码正确,用户名正确的情况下,依旧登录不了,那一定是信息冻结在接下来的系统调试阶段,单独运行程序时背景图片还存在,但是打包后运行文件时就没有图片了,经过咨询后发现图片不仅要放在当前文件夹下,还要放在另外的文件夹中,后图片就显示了。调试阶段的一些语法错误也给我留下了深刻的印象,在编写代码时要细心。在最后阶段,我还学会了附加数据库文件,如果该系统被使用在数据库中,就可以使得数据库文件随身携带,从别的数据库分离,直接附加到自己的考虑到了用户的问题,在操作上,我没有设置很多复杂的键位以及阅读障碍的文字,使得该系统致谢在吝维军老师和同组成员的帮助下,大学的毕业设计算是完成了,在此过程但是都得以解决。因此,我要感谢吝维军老师不厌其烦的讲解和帮我纠错,改错;感谢同组成员认真的帮我解决一些程序上的错误,还要感谢论文组对毕业论文的审核与验收。本论文是在导师吝维军指导下完成收尾,由于疫情的影响,吝维军多次在还需要上网课的情况下抽出时间给我们开会。交代了下一个阶段需要完成的任务,并细心修改查阅了四遍论文稿。其中在知道我们第二个阶段任务时,不厌其烦的将修改几次的文案帮我审查,使我掌握了基本的研究方法,在以后的生活中也有一个准则。最后有同学因为考研不能修改时,老师还特意亲子修改,这是一位值得尊敬的老师。本论文从选题到完成,都少不了导师的帮忙。在此,向导师表示[1]埃克尔(美).Java编程思想[M].北京:机械工业出版社,2007.4[2]钟启泉.学习环境设计:框架与课题[J].教育研究,2015.1[3]李东海.Access2007数据库办公应用[M].北京:科海电子出版社,2010.1[4]张永常.Java程序设计实用教程[M].北京:电子工业出版社,2006.8[5]耿祥义,张跃平.Java2实用教程[M].[6]赵文靖.Java程序设计基础与上机指导[M].北京:清华大学出版社,2006.6[7]朱福喜.Java语言程序设计[M].北京:清华大学出版社,2005.1[8]李兴华.Java开发实战经典[M].北京:清华大学出版社,2009.8[9]张帆.Java范例开发大全[M].北京:清华大学出版社,2010.6[10]陈佛敏.Access2003数据库应用教程[M].湖北:华中科技大学出版社,2010.1[11]邵丽萍,邵光亚,张后扬.Java语言程序设计[M].北京:清华大学出版社,2008.8[12]谭浩强.c程序设计[M].北京:清华大学出版社,2010.6[13]严蔚敏,吴伟民.数据结构[M].北京:清华大学出版社,1999.2[14]雷景生.数据库原理及应用[M].北京:清华大学出版社,2012.1[15]宝玉,杨洁,贺志强,王晓湘.信息论基础[M].北京:人民邮电出版社,2008.8附录部分核心代码packagetk.mybatis.springbopublicclassWebMvcConfigepublicvoidaddResourceHandlers(ResourceHandlerRegistryregistry){registry.addResourceHandler("/static/**").addResourceLocations("cl}}packagetk.mybatis.springboot.controller;org.springframework.sterorg.springframework.web.bind.annotapublicclassInitControllerpublicStringtolndex(){}@RequestMapping(value="/toLogin")packagetk.mybatis.springboot.controller;privateLoginServiceloginService;return"/personinfo/pas}}}packagetk.mybatis.springboot.cpublicclassMprivateMenuServiAccountaccount=(Account)sessList<MenuVo>menuList=menuService.getAll(menu,account);}packagetk.mybatis.springboot.cpublicclassPersonController{privatePersonServicepersonService;//跳转冻结账户页面}//跳转开户页面//跳转启用账户页面publicStringshowOpen}//获取所有人员信息publicMap<String,Object>getAllPerson(PersonVOpersonVO){List<PersonVO>personVOList=personService.getAlinttotal=personService.counMap<String,Object>map=newmap.put(“rows”,person//修改状态信息publicJsonResult<Integer>changeStatus(HttpServletRequestresult=personService.changeStatus(newJsonResult<Integer>(result);}//删除个人信息publicJsonResult<Integer>deleteInfo(HttpServletRequestreturnnewJsonResult<Integer>(result);publicMap<String,Object>getStopPerson(Persinttotal=personService.countAllPerson(personVO);Map<String,Object>map=newHasmap.put("rows",personVpersonvu,publicMap<String,Object>getOpenPerson(personvu,inttotal=personService.countAllPerson(personVO);Map<String,Object>map=newHashMap<>();map.put("rows",personVpublicJsonResult<Integer>submitInfo(Per/*for(inti=0;i<4000personVO.setRealname("秦菜菜"+i);personVO.setCardid("47546119930457"+(1000+personV0.setSex(rd+")}FileUtil.downloadFile(response,personService.get}file,HttpServletResponseresponse)throwsException{}}List<List<String>>list=importExecl.read(file.getInputStreinti=personService.importExcel(return"数据上传失败";}packagetk.mybatis.springboot.contpublicclassTransactionControlleprivateTransactionServicetransactionService;}//显示取款页面@RequestMapping(value="/showWithdrawals")publicStringshowwithdrawal}//显示转账页面@RequestMapping(value="/showTransfer")}}//存款@RequestMapping(value="/save",method=RequestMethod.POST)publicJsonResult<Integer>saveMoney(TransactiontransJsonResult<Integer>jsonResult=newJsonResuAccountaccount=(Account)session.getAttribute("accountAccounttemp=(Account)session.getAttrintn=transactionService.saveMojsonResult.setState(0);jsonResult.setData(n);jsonResult.setState(1);jsonResult.setMessage(}}returnjsonResult;//查看交易记录//根据session找到所有的交易记录,返回trans列表@RequestMapping(valuepublicMap<String,Object>getAllTrans(Transactiontransaction,HttpServletRequest//Stringtype=request.getParaAccountaccount=(Account)request.getSession).getAttribute("account");List<Transaction>transactionstransactionService.getAllTrans(transaction,account,}packagetk.mybatis.springboimporttk.mybatis.springimporttk.mybatis.sprpublicinterfaceAccountMapperex)packagetk.mybatis.springboot.mimporttk.mybatis.springboot.model.Account;importtk.mybatis.springboot.util.MyMapper;publicinterfaceLoginMapperextendsMyMapper<Account>{packagetk.mybatis.springboot.mimporttk.mybatis.springboot.modelimporttk.mybatis.springboot.util.MyMapper;publicinterfaceMenuMapperextendsMyMapackagetk.mybatis.springboList<PersonVO>getAllPerson(@Param("rows")introws,@PaintcountAllPerson(@Param("status")String}packagetk.mybatis.springboot.mimportorg.apache.ibatiimporttk.mybatis.springbimporttk.mybatis.springboot.util.MyMapper;importjava.util.Date;importjava.util.List;@Param("endTime")packagetk.mybatis.springboot.service;privatePersoninfoMapperpersoninfoMapper;publicAccountfindByUser(AccountuserInfo.setBalance(Accountaccount=loginMapp二二loginMapper.selectUserByUsernameAndPassword(uuserInfo.getPassword}}/*if(!account.getRole().equalslgnoreCase(userInfo.greturnloginMapper.update丁publicPersonfindByPerson(Personperson)throwsException{Personpersons=personinfoMapper.selectOne(person);}}publicintupdatePerson(Personperson){returnpersoninfoMapper.updateByPrimaryKey(person)}packagetk.mybatis.springboot.service;privateMenuMappermenuMapper;publicList<MenuVo>getAll(Menuselmenu,Accountaccount){}Example.Criteriacriteria=eif(selmenu.getMenutype()==1l|selmecriteria.andLike("menutype","%"+selList<Menu>list=menuMapper.sif("".equalsIgnoreCase(m了}parseParentAndChilren(mainList,su}privatevoidparseParentAndChilren(List<MenuVo>mainList,List<MenuVo>subList){List<MenuVo>list=newArrayList<>();if(main.getId().equalsIgnoreCase(s}电脑快捷知识大全编辑本段F1显示当前程序或者windows的帮助内容。F2当你选中一个文件的话,这意味着“重命名”F3当你在桌面上的时候是打开“查找:所有文件”对话框粘贴剪贴板中的内容到当前位置撤销上一步的操作重做上一步被撤销的操作Windows键+L锁屏键打开资源管理器打开“查找:所有文件”对话框打开“运行”对话框SHIFT+F10或鼠标右击打开当前活动项目的快捷菜单SHIFT在放入CD的时候按下不放,可以跳过自动播放CD。在打开word的时候按下不放,可以跳过自启动的宏打开程序最左上角的菜单窗口在窗口和全屏幕状态间切换PRINTSCREEN将当前屏幕以图象方式拷贝到剪贴板将当前活动程序窗口以图象方式拷贝到剪贴板CTRL+F4关闭当前应用程序中的当前文本(如word中)CTRL+F6切换到当前应用程序中的下一个文本(加shift可以跳到前一个窗口)显示前一页(前进键)显示后一页(后退键)在页面上的各框架中切换(加shift反向)F5刷新目的快捷键激活程序中的菜单栏F10执行菜单上相应的命令ALT+菜单上带下划线的字母关闭多文档界面程序中的当关闭当前窗口或退出程序ALT+F4显示所选对话框项目的帮助F¹显示当前窗口的系统菜单ALT+空格键显示所选项目的快捷菜单SHIFT+F10显示“开始”菜单CTRL+ESC显示多文档界面程序的系统切换到上次使用的窗口或者切换到另一个窗口ALT+TAB编辑本段二、使用“Windows资源管理器”的快捷键目的快捷键如果当前选择展开了,要折叠或者选择父文件夹左箭头如果当前选择折叠了,要展开或者选择第一个子文件夹右箭头在左右窗格间切换F6编辑本段可以使用Microsoft自然键盘或含有Windows徽标键的其他任何兼容键盘目的快捷键撤消最小化所有窗口SHIFT+WINDOWS+M编辑本段四、“我的电脑”和“资源管理器”的快捷键关闭所选文件夹及其所有父文件夹按住SHIFT键再单击“关闭按钮(仅适用于“我的电脑”)编辑本段五、使用对话框中的快捷键目的快捷键取消当前任务ESC如果当前控件是个按钮,要单击该按钮或者如果当前控件是个复选框,要选择或清除该复选框或者如果当前控件是个选项按钮,要单击该选项空格键单击相应的命令ALT+带下划线的字母在选项上向后移动SHIFT+TAB在选项卡上向后移动CTRL+SHIFT+TAB在选项卡上向前移动CTRL+TAB如果在“另存为”或“打开”对话框中选择了某文件夹,在“另存为”或“打开”对话框中打开“保存到”或“查阅”F4刷新“另存为”或“打开”对话框F5六、桌面、我的电脑和“资源管理器”快捷键选择项目时,可以使用以下快捷键。目的快捷键插入光盘时不用“自动播放”复制文件按住CTRL拖动文件“回收站”显示“查找:所有文件”F3刷新窗口的内容F5重命名项目F2他兼容键编辑本段这里运用Windows徽标键和其他键的组合。快捷键目的将屏幕复制到剪贴板(包括鼠标光标)将屏幕复制到剪贴板(不包括鼠标光标)Windows徽标+向上箭头增加放大率Windows徽标+向下箭头减小放大率编辑本段目的快捷键切换粘滞键开关SHIFT键五次Alt+S快速回复Alt+C关闭当前窗口Alt+H打开聊天记录Alt+T更改消息模式Ait+J打开聊天纪录Ctrl+A全选当前对话框里的内容Ctrl+FQQ里直接显示字体设置工具条Ctrl+J输入框里回车(跟回车一个效果)Ctrl+M输入框里回车(跟回车一个效果)Ctrl+L对输入框里当前行的文字左对齐Ctrl+R对输入框里当前行的文字右对齐Ctrl+E对输入框里当前行的文字居中Ctrl+V在qq对话框里实行粘贴Ctrl+Z清空/恢复输入框里的文字Ctrl+回车快速回复这个可能是聊QQ时最常用到的了Ctrl+Alt+Z快速提取消息最常用的快捷键F5刷新DELETE删除TAB改变焦点CTRL+C复制CTRL+X剪切CTRL+V粘贴CTRL+A全选CTRL+Z--ALT+F4关闭CTRL+Y恢复ALT+TAB切换CTRL+F5强制刷新CTRL+W关闭CTRL+F查找CTRL+空格--中英文输入切换CTRAlt+1保存当前表单Alt+2保存为通用表单Alt+A展开收藏夹列表资源管理器数字键盘的减号(-)折叠所选的文件夹NUMLOCK+数字键盘的加号(+)显示所选文件夹的内容数字键盘的星号(*)显示所选文件夹的所有子文件夹向左键当前所选项处于展开状态时折叠该项,或选定其父文件夹向右键当前所选项处于折叠状态时展开该项,或选定第一个子文件夹【窗口】显示或隐藏“开始”菜单【窗口】+F1帮助【窗口】+D显示桌面【窗口】+R打开“运行”【窗口】+E打开“我的电脑”【窗口】+F搜索文件或文件夹【窗口】+U打开“工具管理器”【窗口】+BREAK显示“系统属性”【窗口】+TAB在打开的项目之间切换辅助功能按右边的SHIFT键八秒钟切换筛选键的开和关按SHIFT五次切换粘滞键的开和关五秒钟切换切换键的开和关运行按“开始”—“运行”,或按WIN键+R,在『运行』窗口中输入:(按英文字符顺序排列)……C:\DocumentsandSettings\用户名

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论