学习目的:学会使用if标签,以及理解其作用和好处。
Part 1
在Product.xml中新增两条select:
<select
listAllProduct可以查询出product_表中的所有数据;listProductByName利用传入的name进行模糊查询。
Part 2
测试代码块:
/**
测试结果:
Part 3
由于product_表的字段比较少,一旦字段名很多,以不同的字段进行查询就要配置很多的select,不便于维护,这个时候使用mybatis动态SQL里的if标签就可以很好解决这个问题。
如果没有传参数name,那么就执行查询所有,否则就进行模糊查询,此时只需要调用同一个select就可以实现。
Product.xml配置如下(加粗部分):
<?xml version="1.0" encoding="UTF-8" ?>
未来所需要查询的字段增加,可以继续添加if标签(在Java自学之mybatis:动态SQL的where、set、trim标签一文中会说具体应该怎么添加)。
Part 4
测试代码块:
/**
可见上面的代码块和part 2中的代码块只是 List<Product> products = session.selectList("listAllProduct",map);中调用的select不同而已。尽管本次使用的同一个select,但是查询结果完全一样,如下: