对于缓存框架的条件查询

首先还是三层框架

配置文件

动态SQL 例如:

<select id="serchAdmin" parameterType="java.util.Map" resultType="Adminuser">
  select * from adminuser
  <where>
      <if test="adminname != null">
      and adminname like concat('%',#{adminname},'%')
      </if>
      
      <if test="roleid != null and roleid!= ''">
      
      and roleid = #{roleid}
      </if>
      </where>
 
 
  </select>

Controller 里的

@RequestMapping(value="admin/list")
    public String list(Model model,String adminname,Integer roleid){
        List<Roleinfo> roleList =adminService.getAllRole();
        List<Adminuser> list =null;
        //条件查询
        
        String key = String.format("admin_%s_%s", adminname,roleid);
        list = (List<Adminuser>) MemcachedUtil.get(key);
        if(list != null){
            
            System.out.println("从缓存中取数据");
            
        }else{
            System.out.println("从数据库中去数据!");
            
            
            //list=adminService.getAllAdminuser();
            list = adminService.serchAdmin(adminname,roleid);
            MemcachedUtil.add(key, list, 20000);
            
        }
        
        model.addAttribute("list", list);
        model.addAttribute("roleList", roleList);
        model.addAttribute("adminname", adminname);
        model.addAttribute("roleid", roleid);
        return "admin/list";
    }


存到缓存中的key不能写死,动态拼!

一定要注意!


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值