mybatis if test标签的使用

在使用mybatis 有时候需要进行判断的。

而我们知道mybatis获取值有两种方式 #{}和${}的。

那么,在mybatis if test语句中怎么使用呢?

是使用#{}还是${} 或是其他?

测试1:使用${}

154813_vguQ_930697.png

运行后果:

155058_CiwX_930697.png

后台报错了。

说明使用${}是不行的。

测试2:使用#{}

测试代码:

155328_8eAL_930697.png

当type==2时候打印sql:

155421_LWhL_930697.png

当type==1时候打印sql:

155455_i3ui_930697.png

我们发现type=1和type=2时候sql是一样的。和我们预想的不一样。

查询的数据也不对。

结论使用#{}也是不行的。

测试三:什么都不用:

155631_Xr9p_930697.png

当type==1打印sql:

155728_9IVH_930697.png

当type==2打印sql:

155759_yPn0_930697.png

和我们预期的一样。

总结,mybatis if test 不需要使用#或是$获取值。

转载于:https://my.oschina.net/kaigejava/blog/909705

原文地址:https://www.cnblogs.com/twodog/p/12140444.html