Spring+Mybatis整合案例電商模塊二

一級類型和商品信息展示

ListServlet

package com.imooc.shop.action;

import com.imooc.shop.bean.Article;
import com.imooc.shop.bean.ArticleType;
import com.imooc.shop.service.ShopService;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

@WebServlet("/list")
public class ListServlet extends HttpServlet {
    //定義業務類對象
    private ShopService shopService;

    private HttpServletRequest request;
    private HttpServletResponse response;

    @Override
    public void init() throws ServletException {
        super.init();
        //獲取Spring容器,然後從容器中得到業務層對象
        ServletContext servletContext = this.getServletContext();
        WebApplicationContext context =
                WebApplicationContextUtils.getWebApplicationContext(servletContext);
        shopService = (ShopService)context.getBean("shopService");

    }

    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.request=request;
        this.response=response;
        //1.查詢所有的一級類型數據
        List<ArticleType> firstArticleTypes = shopService.loadFirstArticleTypes();
        //2.查詢所有的商品信息
        List<Article> articles = shopService.searchArticles();
        request.setAttribute("firstArticleTypes",firstArticleTypes);
        request.setAttribute("articles",articles);
        request.getRequestDispatcher("/WEB-INF/jsp/list.jsp").forward(request,response);
    }
}

ShopService

ShopServiceImpl

package com.imooc.shop.service;

import com.imooc.shop.bean.Article;
import com.imooc.shop.bean.ArticleType;
import com.imooc.shop.bean.User;
import com.imooc.shop.repository.ArticleMapper;
import com.imooc.shop.repository.ArticleTypeMapper;
import com.imooc.shop.repository.UserMapper;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;

import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Service("shopService")
public class ShopServiceImpl implements ShopService {

    //得到數據訪問層對象
    @Resource
    private ArticleTypeMapper articleTypeMapper;

    @Resource
    private UserMapper userMapper;

    @Resource
    private ArticleMapper articleMapper;

    @Override
    public List<ArticleType> getArticleTypes() {
        return articleTypeMapper.getArticleTypes();
    }

    @Override
    public Map<String, Object> login(String loginName, String passWord) {
       Map<String,Object> results = new HashMap<>();
       //判斷參數是否爲空的
        if(StringUtils.isEmpty(loginName)||StringUtils.isEmpty(passWord)){
            //參數爲空了
            results.put("code",1);
            results.put("msg","參數爲空了");
        }else{
            //根據登錄名稱去查詢用戶對象
            User user =userMapper.login(loginName);
            if(user !=null){
                //判斷密碼
                if(user.getPassword().equals(passWord)){
                    //登錄成功了
                    //應該將登陸成功的用戶存到Session會話中
                    results.put("code",0);
                    results.put("msg",user);

                }else{
                    //密碼錯誤了
                    results.put("code",2);
                    results.put("msg","密碼錯誤了");
                }
            }else{
                //登錄名不存在
                results.put("code",3);
                results.put("msg","登錄名不存在");
            }

        }
        return results;
    }
    @Override
    public List<ArticleType> loadFirstArticleTypes() {
        List<ArticleType> articleTypes =articleTypeMapper.getFirstArticleTypes();
        return articleTypes;
    }

    @Override
    public List<Article> searchArticles() {
        return articleMapper.searchArticles();
    }

}

ArticleMapper

<?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.imooc.shop.repository.ArticleMapper">
	<select id="searchArticles" resultType="Article">
		select * from ec_article
	</select>
</mapper>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章