Mybatis条件查询之if标签 逃离我推掉我的手 2022-05-23 12:13 392阅读 0赞 Mybaits中通过if标签配合OGNL表达式可以进行选择行条件添加。 xml映射文件if标签部分代码: <!--if条件判断表达式--> <select id="selectIfCondition" resultType="com.heiketu.testpackage.pojo.Product"> SELECT prod_id prodId, vend_id vendId, prod_name prodName, prod_desc prodDesc FROM Products <where> <if test="prodId != null and prodId != ''"> prod_id = #{prodId} </if> <!-- 此处有误,由于后面还有if判断,所以当条件不成立时AND运算符仍旧会保留,导致SQL语法错误。所以正常情况下AND运算符应该放在后面的条件判断中。 AND--> <if test="prodName != null and prodName != ''"> AND prod_name = #{prodName} </if> </where> </select> 因为if标签不会去掉最前面的多余关键字部分。例如`and`关键字。所以配合`where`标签一起使用。 映射接口文件部分代码: //if条件查询 List<Product> selectIfCondition(Product product); 测试代码: ProductsMapper mapper = sqlSession.getMapper(ProductsMapper.class); Product product = new Product(); product.setProdName("Fish bean bag toy"); List<Product> products = mapper.selectIfCondition(product); //打印查询结果 System.out.println(products); **`仅做笔录`**
还没有评论,来说两句吧...