Mybatis——模糊查询

自己在做的时候,经常出现模糊查询不行,改了一个晚上,发现还是不行,回头几天再去做,突然又可以了。

根据name模糊查询数据

Inteface

public List<Scenery> findScenery(String sceneryname);

Mapper

        <select id="findScenery" resultType="Scenery"  >
        	select * from t_scenery where sceneryname like concat ('%',#{sceneryname},'%')
        </select>

Controller

	@RequestMapping("findScenery")
	public ModelAndView findScenery(
			@RequestParam(value="sceneryname",required=false)String sceneryname) throws UnsupportedEncodingException{
		ModelAndView mav = new ModelAndView();
		List<Scenery> sc = sceneryService.findScenery(sceneryname);
		mav.addObject("sc", sc);
		mav.setViewName("showScenery");
		return mav;
	}

在这里插入图片描述
进去的页面上面都没有,没有判空,添加判空。
Controller

	@RequestMapping("findScenery")
	public ModelAndView findScenery(
			@RequestParam(value="sceneryname",required=false)String sceneryname) throws UnsupportedEncodingException{
		ModelAndView mav = new ModelAndView();
		if(sceneryname!= null){
			sceneryname = new String(sceneryname.getBytes("ISO8859_1"), "UTF-8");
			List<Scenery> sc = sceneryService.findScenery(sceneryname);
			mav.addObject("sc", sc);
			mav.setViewName("showScenery");
			return mav;
		}else{
			mav.setViewName("findScenery");
			return mav;
		}
	}

进行查询,发现乱码,将sceneryname改为UTF-8

	@RequestMapping("findScenery")
	public ModelAndView findScenery(
			@RequestParam(value="sceneryname",required=false)String sceneryname) throws UnsupportedEncodingException{
		ModelAndView mav = new ModelAndView();
		if(sceneryname!= null){
			sceneryname = new String(sceneryname.getBytes("ISO8859_1"), "UTF-8");
			List<Scenery> sc = sceneryService.findScenery(sceneryname);
			mav.addObject("sc", sc);
			mav.setViewName("showScenery");
			return mav;
		}else{
			mav.setViewName("findScenery");
			return mav;
		}
	}

查询“山”,出现了2行记录
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Richard331/article/details/84836606
今日推荐