笔记:基于SSM的校园商铺(三)SSM框架的简单实例

本文章通过实现一个小功能来介绍Spring+SpringMVC+Mybatis的简单应用流程

关于SSM框架的配置这里就不提了,详情可看上一篇文章

流程介绍: 首先我们有一个地区实体类Area,包含的属性有地区id,地区名称,地区权重,地区创建时间和地区修改时间。

持久层:通过一个AreaDao接口与AreaDao.xml文件来从数据库中读取数据
业务层:通过一个AreaService接口与对应的实现类来调用持久层接口获取数据。
表现层:通过一个Controller类来接收请求,调用AreaService将数据返回给客户端

项目结构图:
在这里插入图片描述
Area.java(get set方法自己生成一下)

public class Area {
    private Integer areaId;
    private String areaName;
    //权重
    private Integer priority;
    private Date creatTime;
    private Date lastEditTime;
}

SQL建表与数据插入

create table tb_area
(
 area_id int NOT NULL AUTO_INCREMENT,
 area_name varchar(200) NOT NULL UNIQUE,
 priority int NOT NULL DEFAULT '0',
 create_time datetime DEFAULT NULL,
 last_edit_time datetime DEFAULT NULL,
 primary key(area_id)
)AUTO_INCREMENT=1 DEFAULT CHARSET=UTF8MB4

insert into tb_area values(null,'兰苑',1,null,null)
insert into tb_area values(null,'桂苑',2,null,null)

一.AreaDao接口与AreaDao.xml文件
由于配置了mybaties,我们只需要创建AreaDao接口而无需创建对应的实现类,用一个简单的xml文件取而代之便可。

AreaDao:内容很简单,返回一个Area的List

public interface AreaDao {
    /**
    * @Description:获取区域列表
    * @return: java.util.List<com.mckf.myshop.entity.Area>
    */
    List<Area> queryArea();
}

AreaDao.xml文件(放在resources中的mapper目录里)

<?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">
        
<!--namespace与我们编写好的AreaDao接口类对应-->
<mapper namespace="com.mckf.myshop.dao.AreaDao">
    <!--id与接口中的方法对应-->
    <!--resultType指定返回类型,我们从数据库中获取的数据会自动转换为指定对象-->
    <select id="queryArea" resultType="com.mckf.myshop.entity.Area">
        select * from tb_area order by priority DESC
    </select>
</mapper>

二.AreaService接口与实现类

AreaService接口:

public interface AreaService {
    List<Area> getAreaList();
}

AreaServiceImpl 实现类
@Service注解会将这个类注入Spring容器中进行管理
@Autowired让Spring将合适的bean(通过类型选择)装配到变量中。

@Service
public class AreaServiceImpl implements AreaService {
    @Autowired
    AreaDao areaDao;

    public List<Area> getAreaList() {
        return areaDao.queryArea();
    }
}

三.AreaController类
@Controller的作用与@Service,@Repository,@Component相同,都是将当前类注入Spring容器中进行管理,只是为了方便阅读才按照三层架构分成了三种形态,实际上并没有什么区别,都是@Component。

@RequestMapping表示当前Controller处理哪些来自前端的请求,如这个listArea()方法处理的请求路径为 “/superadmin/listarea"

@ResponseBody表示将方法的返回值转换为json对象

@Controller
//涉及前端的都用小写
@RequestMapping("/superadmin")
public class AreaController {
    @Autowired
    AreaService areaService;
    @RequestMapping(value = "/listarea",method = RequestMethod.GET)
    //将返回结果转换为json对象
    @ResponseBody
    private Map<String,Object> listArea()
    {
        Map<String,Object> modelMap=new HashMap<String,Object>();
        List<Area> areaList=new ArrayList<Area>();
        try
        {
           areaList=areaService.getAreaList();
           modelMap.put("rows",areaList);
            modelMap.put("total",areaList.size());
        }catch (Exception e)
        {
            e.printStackTrace();
            modelMap.put("success",false);
            modelMap.put("errMsg",e.toString());
        }
        return modelMap;
    }
}

四.测试
启动Tomcat,访问对应路径,成功。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
java web实战:基于SSM框架实现的超市账单管理系统。java web实战:基于SSM框架实现的超市账单管理系统。java web实战:基于SSM框架实现的超市账单管理系统。java web实战:基于SSM框架实现的超市账单管理系统。java web实战:基于SSM框架实现的超市账单管理系统。java web实战:基于SSM框架实现的超市账单管理系统。java web实战:基于SSM框架实现的超市账单管理系统。vjava web实战:基于SSM框架实现的超市账单管理系统。java web实战:基于SSM框架实现的超市账单管理系统。java web实战:基于SSM框架实现的超市账单管理系统。java web实战:基于SSM框架实现的超市账单管理系统。java web实战:基于SSM框架实现的超市账单管理系统。java web实战:基于SSM框架实现的超市账单管理系统。java web实战:基于SSM框架实现的超市账单管理系统。java web实战:基于SSM框架实现的超市账单管理系统。java web实战:基于SSM框架实现的超市账单管理系统。java web实战:基于SSM框架实现的超市账单管理系统。java web实战:基于SSM框架实现的超市账单管理系统。java web实战:基于SSM框架实现的超市账单管理系统。java web实战:基于SSM框架实现的超市账单管理系统。java web实战:基于SSM框架实现的超市账单管理系统。java web实战:基于SSM框架实现的超市账单管理系统。java web实战:基于SSM框架实现的超市账单管理系统。java web实战:基于SSM框架实现的超市账单管理系统。java web实战:基于SSM框架实现的超市账单管理系统。java web实战:基于SSM框架实现的超市账单管理系统。java web实战:基于SSM框架实现的超市账单管理系统。java web实战:基于SSM框架实现的超市账单管理系统。java web实战:基于SSM框架实现的超市账单管理系统。java web实战:基于SSM框架实现的超市账单管理系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值