慕课网高并发秒杀API之业务分析与DAO层
项目基于SpringMVC+Spring+MyBatis实现高并发秒杀API
课程主要内容
SpringMVC+Spring+MyBatis使用与整合
秒杀类系统需求理解和实现
常用技术解决高并发问题(java web 以及前端这些常用的技术)
秒杀业务场景具有典型“事务”特性
秒杀/红包类需求越来越常见
面试常问问题
可以从课程中学到什么?
框架的使用与整合技巧
秒杀分析过程和优化思路
相关技术介绍
MySQL(表设计,SQL技巧,事务和行级锁)
MyBatis(Dao层设计与开发,MyBatis合理使用,MyBatis与Spring的整合)
Spring(Spring IOC整合Service,声明式事务运用)
SpringMVC(Restful接口设计和使用,框架运作流程,Controller开发技巧)
前端(交互设计,Bootstrap,jQuery)
高并发(高并发点和高并发分析,优化思路并实现)
基于Maven创建项目
官方配置文件地址
秒杀业务分析
秒杀系统业务流程
秒杀业务的核心 -> 库存的处理
什么是购买行为
MySQL实现秒杀难点分析
难点问题-“竞争”
MySQL(涉及到的技术有事务和行级锁)
秒杀的难点是如何去高效的处理竞争?
实现秒杀的哪些功能?
秒杀接口暴露
执行秒杀
相关查询
数据库设计和编码
DAO层实体和接口编码
基于MyBatis实现DAO
MyBatis整合Spring
整合目标
更少的编码
更少的配置
足够的灵活性
整合过程
1 配置数据库相关参数
2 数据库连接池:配置连接池属性 c3p0连接池的私有属性 关闭理解后不自动commit 获取连接超时时间 当获取连接失败重试次数
3 配置sqlsessionfactory对象:<bean> 注入数据库连接池 配置mybatis全局配置文件 扫描entity包使用别名 扫描sql配置文件
4 配置扫描dao接口包,动态实现dao接口,注入到spring容器中:注入sqlsessionfactory 给出需要扫描dao接口包