青橙-需求分析与系统设计2.1 需求分析 《青橙》是一个全品类B2C电商平台,包含网站前台和管理后台两大部分。网站前台包含主站频道(首页、搜索、购物车及支付)、用户中心、秒杀、优惠券等频道。管理后台包含商品、订单、库存、用户、运营、统计、财务、设置等功能。具体功能请看课程提供的静态原型。 2.2 系统设计2.2.1 数据库分库设计(1)商品库 qingcheng_goods (2)订单库 qingcheng_order (3)基础设置库 qingcheng_config (4)运营库 qingcheng_business (5)用户库 qingcheng_user (6)系统库qingcheng_system (7)支付库 qingcheng_pay (8)短信库 qingcheng_sms 2.2.2 技术选型主框架技术:SSM(通用mapper)+Dubbo 前端技术: 网站后台 Vue.js+ElementUI 网站前台采用Vue.js 和模板技术 thymeleaf 消息中间件技术: RabbitMQ 搜索中间件技术: elasticsearch 缓存中间件技术: redis 报表插件: echars 安全框架:SpringSecurity 单点登录中间件 :CAS 3. 通用mapper3.1 通用mapper简介 通用 Mapper 是一个可以实现任意 MyBatis 通用方法的框架,项目提供了常规的增删改查操作以及Example相关的单表操作。为什么要用通用mapper?我们这里列举一下原生Mybatis的痛点: 1、mapper.xml文件里有大量的sql,当数据库表字段变动,配置文件就要修改 2、需要自己实现sql分页,select * from table where . . . limit 1,3 自己手写分页,除了传参page、pageSize,还需要返回条目总数count。 3、数据库可移植性差:如果项目更换数据库,比如oracle-->mysql,mapper.xml中的sql要重新写,因为Oracle的PLSQL 和mysql 支持的函数是不同的。 4、生成的代码量过大。 5、批量操作,批量插入,批量更新,需要自写。 而这些,通过通用mapper就可以很轻松的解决了。 3.2 通用mapper快速入门在线官方文档:https://gitee.com/free/Mapper/wikis/Home 3.2.1 通用mapper与Spring集成官方的文档中介绍了通用mapper的三种使用方式 ,纯java使用方式、与Spring集成方式、与SpringBoot集成方式。我们这里给大家介绍的是与Spring集成方式。 (1)引入依赖
|