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

//按照手机号或者会员卡号进行多种方式的查询,解决方法: //比如按照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实体类中的变量。

微信公众号【菜鸟路程】

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

编辑于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券