Code Monkey home page Code Monkey logo

project2's Introduction

Project2

简单旅馆管理系统 SSM-naive

拿衣服团队第一个 SSM 项目

开始使用

clone 使用 IDEA File => new Project from Version Control => Github 导入 jar 包到 /WEB-INF/lib 目录下 新建一个 Tomcat 服务器 + new Tomcat local 配置 VM options: -Dfile.encoding=utf-8 配置 Tomcat lib dependencies => + => Library => tomcat 检查 classes 是否为正确编译输出路径 WEB-INF/classes 测试基本功能

启动测试类 org.naive.test.ServiceTest.testService() 控制台打印 TestServiceImpl.testService 测试成功 启动 Tomcat 服务器,访问 localhost:8080/hello 页面显示 $END$ 测试成功 代码规范

参考 jsp 对应的跳转链接进行命名 比如 /Commodity/tolist.do Controller 命名 CommodityController @RequestMapping("/Commodity") 方法 命名 toList() Service 命名 CommodityServiceImpl 每个方法,请写上适当注释,描述该方法的功能 推荐 /** 文档注释 可接受 // 注:内部转发 jsp 推荐注释为 /WEB-INF/jsp/list.jsp 由于 jsp 页面位于 /WEB-INF/jsp/ 目录下,使用 GetMapping 进行内部转发跳转 局部变量名命名规则要求见明知意,如有混淆情况请注释说明,如商品名: 推荐 commodityName 可接受 name 禁止 shangpinming p 单元测试,对于 service 层,推荐每一个类,每一个方法都进行测试,并写上适当注释 Git 规定: 每完成模块的单一功能后, commit 一次,并写上注释 完成模块整个功能并通过测试后, push 一次 每晚 10:30 以后轮流 push 待办事项

​客房管理(增删改查) ​接待对象(增删改查) ​商品管理及商品分类(增删改查) ​旅客管理(增删改查) 客房预订 住宿登记 财务统计 营业金额 Day 01 开工大吉

分析表结构,建表,分工:

客房管理(增删改查):李飞鹏 接待对象(增删改查):蒋奉吉 商品管理及商品分类(增删改查):李博 旅客管理(增删改查):刘广 Controller 层(对应 JSP 跳转,表单提交):李悠,曹历鑫 Day02 增删改查

今日总结

商品管理:商品分页回显完成,完成度 35% 房屋管理:Service 层增删改,Controller 分页回显,完成度 45% 接待对象:接待对象增加,Controller 添加对象成功,完成度 40% 客房预订:部分 Controller 页面跳转,处理 Json Ajax 数据,完成度 30% 旅客信息:Service 层增删改,Controller 增删旅客,完成度 40% 住宿登记:Controller 登记订单显示,安排住宿,完成度 30% 明日计划

接待对象:接待对象查找并回显,搜索,修改和删除 房屋管理:分页回显,模糊查询,(批量)删除 客房预订:客房增删改,分页回显 商品管理:Controller 商品增删改,商品类别增删 旅客信息:Controller 旅客回显,模糊查询,Controller 删改 住宿登记:安排住宿,增删改,登记 Day03 增删改查

今日总结

商品管理:商品多条件查询及分页显示,商品添加/修改/删除,商品类别增加/删除/回显数据,完成度60 %

房屋管理:优化房屋分页显示,增删改查完成,对外接口完善,完成度 80%

接待对象:接待对象列表分页显示,完成度 60%

客房预订:预定房间,选择旅客/接待对象 Json 数据返回,(批量)删除预定房间,完成度 60%

旅客信息:旅客列表分页显示,修改旅客信息,生日改为 String,完成度 50%

住宿登记:查询并分页显示旅客列表,安排房间,登记完成度一般(等待接口)

明日计划

接待对象:接待对象列表模糊查询,修改,模糊查询,删除

房屋管理:Ajax 完成,接口完成

财务管理:查询分页显示,财务详情

客房预订:修改预定,优化查询,优化 Json 数据返回,对接接口

商品管理:购物车接口,购物车商品添加/修改/回显

旅客信息:旅客列表模糊查询,删除旅客,返回 Json 接口完成

住宿登记:安排住宿,押金查询,追加

那些坑

mapper 的标签坑

可以设置 resultType 不能设置 resultType ,否则报错 Jsp 页面字段名与 Bean 类字段名不一致 ReceiveTarget 的 receiveTargetId 与 jsp id 不一致 所以使用 VO 来做适配 日期问题 用 Date 数据类型,存入数据库时,会转型为 2000-01-01 07:22:33 拿出来的时候,用 Date 类型接收,会转型为 Sat Jan 1 07:22:33 CST 2001 所以改用 String 类型,来插入和回显 数据库的 Date 数据,正常 Day04 增删改查 今日总结 商品管理:单元测试通过,还未集成测试 房屋管理:单元测试通过,还未集成测试 接待对象:单元测试通过,还未集成测试 旅客信息:单元测试通过,还未集成测试 押金记录:增查回显完成 客房预订:修改预定信息,预定安排房间,部分优化,完成度 70% 住宿登记:预定安排房间,散客登记,交换房间回显,旅客信息 Json 回显,完成度 50% 约定: receiveTargetId == 2 为旅客的接待对象 passengerId == 0 为团队的旅客信息 明日计划 散客换房/团队换房 散客旅客消费/团队旅客消费 散客结账/团队结账 散客转入团队/团队转为散客 团队登记 团队安排房间 批量安排房间 团队押金记录 财务管理 数据视图 遇到的问题 数据库 Date 回显问题 问题描述: 数据库存的时间为 DATETIME 类型 2000-01-01 07:22:33 取出的时间是 java.util.Date 类型 Sat Apr 14 00:26:08 CST 2018 解决:(曲线救国?) Get 方法返回转型后的: SimpleDateFormat 前端 JSP 大坑,contactPhoneNumber 与 contactPhonNUmber 一个 大写 U,一个小写 u, 注意! 重定向带请求参数中文乱码 使用 URLEncoder 将中文编码为 utf-8 后拼接到请求参数 JSP 日期字符串回显问题 问题描述: 数据库拿出生日信息显示为 1990-01-01 00:00:00 生日仅需要显示年月日 解决: 使用 substring 手动截断 Day05 收尾工作 今日总结 财务管理:页面显示,搜索分页查询,详情页待测试 住宿登记:团队登记、团队安排房间,批量安排房间 散客转入团队/团队转为散客 散客结账/团队结账 散客换房/团队换房 遇到的问题 测试效果与预期不符 原因是:脏数据太多,没有输入严格测试数据 数据库设计问题严重 没有做的地方 客房预定,没有做时间段判定 数据库表设计复杂,多表设计没有设计好,连接查询和子查询使用得太多 Day06 项目总结 ###时间显示问题 数据库字段是 DateTime 类型 存的时候用 Date 存,正常 取的时候用 Date 取,会自动转型为 Date ,但是 toString() 方法不是需要的显示情况 如果要和数据库存的显示一样,可以用 String 从数据库取出来 还可以在 get 方法,返回将 Date 格式化的 String ###房间登记上限 一个房间拥有的床位数,一个床位登记一个人 登记人数超过当前房间床位数,抛出一个自定义异常,并在前端友好显示 ###以登记时间来唯一表示散客或团队 不同时间登记的人,视为不同的登记记录 即同一时间来登记的两个人是一伙的,不同时间来登记的人不是一伙的 同一时间来登记的团队是同一个团队 这样做的目的是,当查看历史记录时,可以通过登记时间来定位时团队还是散客 ###日期、货币显示 Double 类型,使用货币转换(DecimalFormat),四舍五入保留小数点后两位 ###数据库设计问题 数据库设计,很多东西都没有考虑到 可以使用外键,但是删除问题,不能直接删除该条记录 应该再添加一个字段(标示位),标示是否删除与否 这样在删除一条记录时,仅转换删除位,不会造成删除外键警告,抛异常 ###没有做的地方 预定房间应该显示全部房间,没有做时间判断 由于预定房间可以预定未来几日的房间,当选择预定房间时,应该根据预定时间时的房间状态进行回显 ###跳转问题 当选择团队后,团队的每一次操作,应该跳转回选择团队页面 跳转之间需要携带参数,没有实现

project2's People

Contributors

adminiistrator avatar tranceyu avatar dahan1 avatar rrifcode avatar chct avatar adbycool avatar qqwoadc avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.