ITKeyword,专注技术干货聚合推荐

注册 | 登录

[框架整合]spring+springmvc+mybatis(4)

antgan 分享于 2016-06-06

推荐:[框架整合]spring+springmvc+mybatis(2)

在上一篇中,我们已经把项目搭建起来了。接下来将进行spring+mybatis整合 想要源代码的朋友点击这里下载哦~~ 目录结构如下: 在resources目录下创建文件 mybatis

2019阿里云全部产品优惠券(新购或升级都可以使用,强烈推荐)
领取地址https://promotion.aliyun.com/ntms/yunparter/invite.html

在上篇博文中,我们已经将最简单的spring+springmvc+mybatis整合完了。
接下来就是进行简单的测试。

想要源代码的朋友点击这里下载哦~~

我在本地已经有数据库表,因为该项目是实现简单的秒杀系统。所有测试时简单的写一个查询接口进行测试。

创建package包
创建package包

在dao包下创建类SeckillDao.java

package org.seckill.dao;

import java.util.Date;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;
import org.seckill.entity.Seckill;

/** * 秒杀 数据访问层 Dao * @author antgan * @datetime 2016/6/6 * */
public interface SeckillDao {
    /** * 查询全部秒杀商品 * @param offet * @param limit * @return */
    public List<Seckill> queryAll(@Param("offset") int offset, @Param("limit") int limit);
}

接下来在resource目录下的mapper文件夹下创建实现SeckillDao接口的配置文件。
(这里是我觉得mybatis最赞的地方。我再也不用我写实现类了)
如下图:
这里写图片描述

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- 目的:为DAO接口方法提供sql配置 -->
<!-- 具体的mybatis使用方法,这里不做介绍,有兴趣的朋友可以学习mybatis -->
<mapper namespace="org.seckill.dao.SeckillDao">
    <select id="queryAll" resultType="Seckill" >
        select seckill_id, name, number, start_time,end_time, create_time 
        from seckill 
        order by create_time desc 
        limit #{offset}, #{limit} 
    </select>
</mapper>

在service包下创建简单业务接口SeckillService.java
并在service.impl包下实现接口SeckillServiceImpl.java

这里写图片描述

1) SeckillService.java 接口

package org.seckill.service;

import java.util.List;
import org.seckill.entity.Seckill;

/** * 秒杀业务 * @author antgan * @datetime 2016/6/6 * */
public interface SeckillService {
    /** * 获取秒杀货品列表 * @return */
    public List<Seckill> getSeckillList();
}

2) SeckillServiceImpl.java 业务接口实现类

package org.seckill.service.impl;

import java.util.List;
import org.seckill.dao.SeckillDao;
import org.seckill.entity.Seckill;
import org.seckill.service.SeckillService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/** * 秒杀 业务逻辑层 * * @author antgan * @datetime 2016/6/6 * */
@Service("seckillService")
public class SeckillServiceImpl implements SeckillService {
    // 日志
    private Logger logger = (Logger) LoggerFactory.getLogger(this.getClass());
    //自动从SpringIOC容器中注入
    @Autowired
    private SeckillDao seckillDao;

    /** * 获取秒杀列表 */
    public List<Seckill> getSeckillList() {
        return seckillDao.queryAll(0, 4);
    }
}

3) Seckill.java 实体类

package org.seckill.entity;

import java.util.Date;

/** * 秒杀实体 * @author antgan */
public class Seckill {
    private long seckillId;
    private String name;
    private int number;
    private Date startTime;
    private Date endTime;
    private Date createTime;

    public Seckill() {
        // TODO Auto-generated constructor stub
    }

    public Seckill(long seckillId, String name, int number, Date startTime, Date endTime, Date createTime) {
        this.seckillId = seckillId;
        this.name = name;
        this.number = number;
        this.startTime = startTime;
        this.endTime = endTime;
        this.createTime = createTime;
    }
    public long getSeckillId() {
        return seckillId;
    }
    public void setSeckillId(long seckillId) {
        this.seckillId = seckillId;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getNumber() {
        return number;
    }
    public void setNumber(int number) {
        this.number = number;
    }
    public Date getStartTime() {
        return startTime;
    }
    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }
    public Date getEndTime() {
        return endTime;
    }
    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Override
    public String toString() {
        return "Seckill [seckillId=" + seckillId + ", name=" + name + ", number=" + number + ", startTime=" + startTime
                + ", endTime=" + endTime + ", createTime=" + createTime + "]";
    }
}

最后,在web包下创建SeckillController.java

package org.seckill.web;

import java.util.List;
import org.seckill.entity.Seckill;
import org.seckill.service.SeckillService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
/** * controller * * @author antgan * @datetime 2016/6/6 * */
@Controller
@RequestMapping("/seckill")
public class SeckillController {
    @Autowired
    private SeckillService seckillService;

    @RequestMapping(value = "/list", method = RequestMethod.GET)
    public String list(Model model) {
        List<Seckill> list = seckillService.getSeckillList();
        model.addAttribute("list", list);
        return "list";//返回jsp文件夹下的list.jsp
    }
}

最后测试,请求地址为 http://localhost:8080/seckill/seckill/list
这里写图片描述

完美收官!

在整合的过程中遇到什么问题,欢迎留言。

推荐:SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)

SSM框架——详细整合教程(Spring+SpringMVC+MyBatis) 转载来自:http://blog.csdn.net/zhshulin/article/details/37956105 使用SSM(Spring、SpringMVC和Mybat

在上篇博文中,我们已经将最简单的spring+springmvc+mybatis整合完了。 接下来就是进行简单的测试。 想要源代码的朋友点击这里下载哦~~ 我在本地已经有数据库表,因为该项目是实现简单的秒杀系

相关阅读排行


用户评论

游客

相关内容推荐

最新文章

×

×

请激活账号

为了能正常使用评论、编辑功能及以后陆续为用户提供的其他产品,请激活账号。

您的注册邮箱: 修改

重新发送激活邮件 进入我的邮箱

如果您没有收到激活邮件,请注意检查垃圾箱。