您的位置 首页 java

实战篇:基于SSM的秒杀系统之DAO层搭建

如果您没有看这个系列的前两篇,请查看,地址如下:

实战篇:基于SSM的秒杀系统之DAO层搭建实战篇:基于SSM的秒杀系统之项目介绍

实战篇:基于SSM的秒杀系统之DAO层搭建实战篇:基于SSM的秒杀系统之项目搭建和数据库设计

实战篇:基于SSM的秒杀系统之DAO层搭建

今天开始介绍 DAO 层的搭建【完整的代码在文章后边给出】

实体类的创建,实体类和数据库表一一对应

  • 秒杀实体类

秒杀成功实体类

//秒杀的商品的ID

private long seckillId;

//秒杀用户的电话

private long userPhone;

//秒杀商品的状态

private short state;

//秒杀成功的时间

private Date creteTime;

// 多对一的复合属性

private Seckill seckill;

在秒杀成功实体类中,除了和数据库一一对应的属性之外还多了一个复合属性,就是秒杀实体的对象,这个用来保存用户所秒杀的实体的信息。

DAO接口设计

  • DAO接口的设计分为两个:一个是对秒杀库存的操作,一个是对用户秒杀行为的操作。由于采用mybatis所以这里采用接口类的形式

    这个是秒杀库存的操作接口类SeckillDao

/**

* 减库存

*

* @param seckillId

* @param killTime

* @return 如果影响行数等于>1,表示更新的记录行数

*/

int reduceNumber(@Param(“seckillId”) long seckillId, @Param(“killTime”) Date killTime);

/**

* 根据id查询秒杀对象

*

* @param seckillId

* @return

*/

Seckill queryById(long seckillId);

/**

* 根据 偏移量 查询秒杀商品列表

*

* @param offset

* @param limit

* @return

*/

List<Seckill> queryAll(@Param(“offset”) int offset, @Param(“limit”) int limit);

下面是秒杀操作实体接口类

/**

* 插入购买明细,可过滤重复

*

* @param seckillId

* @param userPhone

* @return 插入的行数

*

*/

int insertSuccessKilled(@Param(“seckillId”) long seckillId, @Param(“userPhone”) long userPhone);

/**

* 根据id查询SuccessKilled并携带秒杀产品对象实体

*

* @param seckillId

* @param userPhone

* @return

*/

SuccessKilled queryByIdWithSeckill(@Param(“seckillId”) long seckillId, @Param(“userPhone”) long userPhone);

  • 配置文件【给出图示,具体代码见文章后边链接】

  1. mybatis的mapper文件

    mapper文件中写了具体的 sql 的实现

    实战篇:基于SSM的秒杀系统之DAO层搭建

  2. Spring配置文件

    配置了数据库 SqlSessionFactory等的配置

    实战篇:基于SSM的秒杀系统之DAO层搭建

  3. jdbc 配置文件

    数据库基本信息的配置

    实战篇:基于SSM的秒杀系统之DAO层搭建

  4. 日志配置文件

    日志信息的配置

    实战篇:基于SSM的秒杀系统之DAO层搭建

  5. mybatis配置文件

    mybatis框架的配置

    实战篇:基于SSM的秒杀系统之DAO层搭建 具体完整的代码在下面的链接

谢谢阅读!

文章来源:智云一二三科技

文章标题:实战篇:基于SSM的秒杀系统之DAO层搭建

文章地址:https://www.zhihuclub.com/188435.shtml

关于作者: 智云科技

热门文章

网站地图