controller层的作用

前端js部分链接

以下从controller层开始: 

package com.bootdo.common.controller;

import com.bootdo.common.domain.City;
import com.bootdo.common.domain.Province;
import com.bootdo.common.service.SiteService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpServletRequest;
import java.io.Serializable;
import java.util.List;

@RequestMapping("/site")
@Controller
public class SiteController implements Serializable{
    private static final long serialVersionUID = 1L;

    @Autowired
    SiteService siteService;





    @GetMapping("/get_Province")
    @ResponseBody()
    public List<Province> initProvince() {
        return siteService.getAllProvince();
    }

    @GetMapping("/get_city")
    @ResponseBody()
    public List<City> getCity(HttpServletRequest request) {
        String codeP = request.getParameter("codeP");
        return siteService.getCity(codeP);
    }

    @GetMapping("/get_area")
    @ResponseBody()
    public List<Province> getArea(HttpServletRequest request) {
        String codeC = request.getParameter("codeC");
        List<Province> list = siteService.getArea(codeC);
        return list;
    }

}

在Java的开发中,controller层是连接前端和后端的。

package com.bootdo.common.service;

import com.bootdo.common.domain.City;
import com.bootdo.common.domain.Province;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public interface SiteService {
    List<Province> getAllProvince();

    List<City> getCity(String codeP);

    List<Province> getArea(String codeC);
}

接受前端发来的请求,同时向后端发送请求,——>service 层——>serviceImpl实现service层,同时连接dao层,(在dao层中同样是接口)——>通过dao层去实现对数据库的操作——在XML文件中通过namespace完成连接dao层。

package com.bootdo.common.service.impl;

import com.bootdo.common.dao.AreaDao;
import com.bootdo.common.dao.CityDao;
import com.bootdo.common.dao.ProvinceDao;
import com.bootdo.common.domain.City;
import com.bootdo.common.domain.Province;
import com.bootdo.common.service.SiteService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;


@Service
public class SiteServiceImpl implements SiteService {

    @Autowired
    ProvinceDao provinceMapper;
    @Autowired
    CityDao cityMapper;
    @Autowired
    AreaDao areaMapper;

    @Override
    public List<Province> getAllProvince() {
        List<Province> list = provinceMapper.list();
        return list;
    }

    @Override
    public List<City> getCity(String codeP) {
        return cityMapper.list(codeP);
    }

    @Override
    public List<Province> getArea(String codeC) {
        return areaMapper.list(codeC);
    }


}

下边是dao层代码:

package com.bootdo.common.dao;

import com.bootdo.common.domain.Province;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * 系统日志
 * @author chglee
 * @email [email protected]
 * @date 2017-10-03 15:45:42
 */
@Mapper
public interface AreaDao {

    List<Province> list(String codeC);
}

最后就是操作数据库了。

<?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">

<mapper namespace="com.bootdo.common.dao.AreaDao">
	<select id="list" resultType="com.bootdo.common.domain.Area" parameterType="java.lang.String">
		select `id`,`code_a`,`name`,`code_c` from area WHERE code_c= #{codeC}
	</select>
</mapper>

从这个里边的代码中可以看出来,对于不同的数据库,不同的表操作,可以通过在serviceImple层来变换。然后写不同的dao层和不同的XML文件来操作。

猜你喜欢

转载自blog.csdn.net/wyqwilliam/article/details/83514352