实习课知识整理3:首页商品列表的展示
2023-12-24 11:40:17
    		对于一个购物商城的项目,主体还得是商品,这篇博客主要介绍如何将数据库中的信息渲染到页面上,这边后端是SpringBoot,前端是html配合thymeleaf模板
1. 编写查询数据库的方法
在这边我在页面上需要两部分的信息,一个是所有的商品,另一个是商品热度排名前三的商品信息。所以需要写两个方法
itemMapper.java
    // 查询所有商品列表
    List<Item> getItemList();
    // 根据 热度 heart 查询
    List<Item> getItemListByHeart();itemMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.shopping.mapper.ItemMapper">
    <resultMap id="itemBaseResultMap" type="Item">
        <!-- 映射字段 -->
        <id column="ITEM_ID" property="itemId"/>
        <id column="ITEM_NAME" property="itemName"/>
        <id column="ITEM_PRICE" property="itemPrice"/>
        <id column="ITEM_COUNT" property="itemCount"/>
        <id column="ITEM_CREATE_TIME" property="itemCreateTime"/>
        <id column="ITEM_DESC" property="itemDesc"/>
        <id column="ITEM_TYPE_ID" property="itemTypeId"/>
        <id column="ITEM_SALE_PRICE" property="itemSalePrice"/>
        <id column="ITEM_STATE" property="itemState"/>
        <id column="ITEM_IMAGE_MAIN" property="itemImageMain"/>
        <id column="ITEM_IMAGE_OTHER" property="itemImageOther"/>
        <id column="ITEM_VIDEO_URL" property="itemVideoUrl"/>
        <id column="ITEM_HEART" property="itemHeart"/>
    </resultMap>
    <select id="getItemList" resultMap="itemBaseResultMap">
        select ITEM_ID, ITEM_NAME, ITEM_PRICE, ITEM_COUNT, ITEM_CREATE_TIME, ITEM_DESC,
               ITEM_TYPE_ID, ITEM_SALE_PRICE, ITEM_STATE, ITEM_IMAGE_MAIN, ITEM_IMAGE_OTHER,
               ITEM_VIDEO_URL, ITEM_HEART FROM shopping.item
    </select>
    <!--编写Sql代码块,便于多次使用-->
    <sql id="allColumns">
        select ITEM_ID, ITEM_NAME, ITEM_PRICE, ITEM_COUNT, ITEM_CREATE_TIME, ITEM_DESC,
        ITEM_TYPE_ID, ITEM_SALE_PRICE, ITEM_STATE, ITEM_IMAGE_MAIN, ITEM_IMAGE_OTHER,
        ITEM_VIDEO_URL, ITEM_HEART from shopping.item
    </sql>
    <select id="getItemListByHeart" resultMap="itemBaseResultMap">
        <include refid="allColumns"></include> ORDER BY ITEM_HEART DESC LIMIT 0,3
    </select>
</mapper>
?
itemService.java接口?
    // 查询所有商品列表
    List<Item> getItemList();
    // 根据 热度 heart 查询
    List<Item> getItemListByHeart();itemServiceImpl实现类
    @Resource
    private ItemMapper itemMapper;
    @Override
    public List<Item> getItemList() {
        return itemMapper.getItemList();
    }
    @Override
    public List<Item> getItemListByHeart() {
        return itemMapper.getItemListByHeart();
    }indexController
    @RequestMapping("/index")
    public ModelAndView index2(ModelAndView mav)  throws Exception{
        List<Item> allItems = itemService.getItemList();
        List<Item> itemsByHeart = itemService.getItemListByHeart();
        mav.addObject("allItems",allItems);
        mav.addObject("itemsByHeart",itemsByHeart);
        mav.setViewName("index");
        return mav;
    }?
?2. 前端拿到后端返回的数据,并渲染到页面上
index.html?

    			文章来源:https://blog.csdn.net/m0_61495539/article/details/135179077
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
    	本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!