• 多种条件的查询的解决方法


    //按照手机号或者会员卡号进行多种方式的查询,解决方法:
    //比如按照id或者名字进行多种方式的查询:


    //在xml文件中书写代码:
    <!--根据id或者name进行查询信息-->
    <select id="selectAllByIdAndTel" parameterType="com.kude.pojo.User" resultMap="BaseResultMap">
    select
    <include refid="Base_Column_List" />
    from user
    <where>
    //注意这个if test中的userId和name,这两个字段是user实体类中的变量,and 后面的User_id和Name是数据库User表中的字段
    <if test="userId!= null and userId!=''">
    and User_id=#{userId}
    </if>
    <if test="name!= null and name!=''">
    and Name LIKE '%' #{name} '%'
    </if>
    </where>
    </select>


    //Servcie层
    //我这个写的时候是按照分页格式写的,实际上查询出来的一般是单条数据
    ServerResponse<Pager> selectAllByIdAndTel(User user,int curentPageIndex,int countPerpage);


    // ServiceImpl实现层

    @Override
    public ServerResponse<Pager> selectAllByIdAndTel(User user,int curentPageIndex,int countPerpage) {
    UserExample example=new UserExample();
    UserExample.Criteria criteria=example.createCriteria();
    Pager pager=new Pager();
    List<User> users=userMapper.selectAllByIdAndTel(user);
    if(users.size()>0){//判断是否含有数据
    pager.setBigList(users);
    pager.setCurentPageIndex(curentPageIndex);//当前页数
    pager.setCountPerpage(countPerpage);//总页数
    ServerResponse serverResponse=ServerResponse.createBySuccess(pager.getSmallList(),"查询成功",users.size());
    return serverResponse;
    }else {
    return ServerResponse.createByErrorMessage("查询失败");
    }
    }


    //Controller控制器
    @RequestMapping("/test/selectAllByIdAndTel.do")
    @ResponseBody
    public ServerResponse<Pager> selectAllByIdAndTel(User user, @RequestParam(value = "curentPageIndex", defaultValue = "1") int curentPageIndex,
    @RequestParam(value = "countPerpage", defaultValue = "10") int countPerpage){

    return testService.selectAllByIdAndTel(user,curentPageIndex,countPerpage);
    }


    //进行测试的接口:
    http://localhost:8080/user//test/selectAllByIdAndTel.do?name=张三
    或者测试
    http://localhost:8080/user//test/selectAllByIdAndTel.do?userId=1
    特别注意接口中的name和userId也是属于User实体类中的变量。

  • 相关阅读:
    C++_重载、重写和重定义的区别
    C++静态库与动态库
    C++ 中重载运算符 “<” 及 friend属性
    C++中,关于#include<***.h>和#include"***.h"的区别
    static_cast, dynamic_cast, const_cast讨论
    浅析C++中static关键字
    C语言包含头文件时用引号和尖括号的区别
    vc实现透明位图,透明背景
    VS2008调试技巧——断点失效
    Spring解决循环依赖的理解
  • 原文地址:https://www.cnblogs.com/almm/p/11665138.html
Copyright © 2020-2023  润新知