1,创建dao层接口
List<Purchase> selectByname(String pname);
2,mapper里编写sql语句
<select id="selectByname" resultMap="map" parameterType="String">
select * from tbl_purchase tp,tbl_pur_approval ta
<where>
tp.pid=ta.pid
<if test="_parameter!='' and _parameter!=null">
AND tp.pname LIKE CONCAT(CONCAT('%',#{_parameter},'%'))
</if>
</where>
</select>
需要注意的是,如果你的参数类型不是基本数据类型的话,在进行模糊查询的时候一定要使用_parameter来代替你的参数名,不然一定会报错。
3,创建service层接口
List<Purchase> selectByname(String pname);
4,业务逻辑层实现
@Service
public class PurchaseServiceImpl implements PurchaseService{
@Autowired
Purchasedao purchasedao;
@Override
public List<Purchase> selectByname(String pname) {
// TODO Auto-generated method stub
return purchasedao.selectByname(pname);
}
}
5control中查询
@Controller
public class PurchaseControl {
@Autowired
PurchaseService purchaseService;
@Autowired
@RequestMapping("selectByname")
public ModelAndView selectByname(String pname,HttpSession session) {
System.out.println(pname);
List<Purchase> list = purchaseService.selectByname(pname);
System.out.println("list"+list);
ModelAndView mv=new ModelAndView();
mv.addObject("list",list);
session.setAttribute("list", list);
mv.setViewName("queryAll.jsp");
return mv;
}
}
6效果图
根据采购商品名称的任何一个字段进行查询 ,希望能帮到大家