java mybatis狂神说sql_Java自学之mybatis:动态SQL之if标签

学习目的:学会使用if标签,以及理解其作用和好处。

Part 1

在Product.xml中新增两条select:

<select 

listAllProduct可以查询出product_表中的所有数据;listProductByName利用传入的name进行模糊查询。

Part 2

测试代码块:

/**

测试结果:

3f8be4cc907fa870f7016d154df46756.png

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,但是查询结果完全一样,如下:

911c97d6932c97c24bd0ab2f47e36e7f.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值