宜立方商城首页轮播图动态展示

1.  首页轮播图动态展示效果图

1.1. 功能分析

根据分类id查询内容列表,把内容展示到首页。

内容分类id需要是固定的。可以配置到属性文件中。

展示首页之前,先查询内容列表,然后展示到首页。

1、前台内容动态展示

2、Redis服务器搭建

3、向业务逻辑中添加缓存。

4、使用redis做缓存

5、缓存同步。

扫描二维码关注公众号,回复: 1447884 查看本文章

1.1. Dao层

单表查询。可以使用逆向工程。

1.1. Service层

参数:内容分类id

返回值:List<TbContent>

业务逻辑:

根据分类id查询内容列表。

我们这需要使用一下redis缓存动态图片减少读取数据库的负荷

这是读取resource.properties配置键对的值

service实现层代码

 
 
@Autowired
private TbContentMapper contentMapper;
@Autowired
private JedisClient jedisClient;

@Override
public List<TbContent> getContentByCid(Long content_lunbo_id) {
    //查询缓存首先查询redis中是否有键对应的值得缓存数据
    try {
        //如果缓存中直接响应结果查询对应的content_lunbo_id键Sting类型所有要强行转换一下类型
        String json = jedisClient.hget(CONTENT_LIST,content_lunbo_id+"");
        // 判断是否为空
        if (StringUtils.isNoneBlank(json)){
            //查询到缓存中的数据为json格式的数据所以要转换成list类型的数据
            List<TbContent> list = JsonUtils.jsonToList(json,TbContent.class);
            return list;
        }
    }catch (Exception e){
        e.printStackTrace();
    }
    //如果没有查询数据就查询数据库中的数据
    TbContentExample example =new TbContentExample();
    TbContentExample.Criteria criteria = example.createCriteria();
    //设置条件
    criteria.andCategoryIdEqualTo(content_lunbo_id);
    //执行查询操作并返回集合
    List<TbContent> contents = contentMapper.selectByExampleWithBLOBs(example);
    //向缓存中添加数据(因为缓存中没有cid对应的值所有第一次查询结果添加进缓存)
    try {
        //添加到缓存值对应的是String类型的数据所有要转换List为json类型的数据
        jedisClient.hset(CONTENT_LIST,content_lunbo_id+"",JsonUtils.objectToJson(contents));
    }catch (Exception e){
        e.printStackTrace();
    }
    //返回结果
    return contents;
}

applicationContent-redis.xml这里我们使用的redis单机版做测试只有等项目发出后再用集群


springmvc.xml中添加引用:


Controller层

/**
 * 首页展示Controller
 *
 */
@Controller
public class IndexController {
   //首页图片轮播id
   @Value("${CONTENT_LUNBO_ID}")
   private Long CONTENT_LUNBO_ID;

   @Autowired
   private ContentService contentService;

   @RequestMapping("/index")
   public String showIndex(Model model) {
      //查询内容列表
      List<TbContent> ad1List=contentService.getContentByCid(CONTENT_LUNBO_ID);
      //把结果传递给页面
      model.addAttribute("ad1List",ad1List);
      return "index";
   }
pom.xml添加依赖


查看redis中缓存数据


猜你喜欢

转载自blog.csdn.net/qq_39537939/article/details/80556147