mybatis使用时候的两个小细节
来源:互联网 发布:c语言入门txt免费下载 编辑:程序博客网 时间:2024/05/22 16:47
1.关于接受参数时 #{} 与${} 之间的区别
简单一句句话说这两个符合#,$都可以接受参数,区别在于接受到的参数一个会给你自动加’ ‘而另一个不会,举个栗子:
select <include refid="baseColumns"/> from mt_room_resource WHERE is_delete = 0 <if test="comId != null"> and com_id = #{comId} </if>
这段sql被执行之后会变成这样的sql:
select * from mt_room_resource WHERE is_delete = 0 AND com_id=520;
当然这是你的公司id是bigInt或者其他数字类型,如果是字符串类型varchar(当然id一般都是数字,这里打个比方)生成的这条sql就会报错,这时就要用$接收对象,
select <include refid="baseColumns"/> from mt_room_resource WHERE is_delete = 0 <if test="comId != null"> and com_id = ${comId} </if>
2.关于mybatis中if条件
一般情况下使用if都是判断参数是否为null,如下
<if test="comId != null"> and com_id = #{comId} </if>
但是我如果有其他特殊需求需要实现时可能要判断是否是某个字符串时该怎么办呢,看例子:
SELECT <include refid="baseColumns"/> FROM `mt_room_resource` WHERE is_delete = 0 <if test="keyWord == null"> AND 1=1 </if> <if test= 'keyWord != null and keyWord != "|"'> AND (rr_room_name LIKE CONCAT('%',#{keyWord},'%') OR rr_room_position LIKE CONCAT('%',#{keyWord},'%') ) </if>
你可以看到这个时候 if test = ’ yy=”xxx” ‘ 是的我就是要说这个小细节.
阅读全文
1 0
- mybatis使用时候的两个小细节
- SharePreference的两个小细节
- mybatis使用注意的细节
- mybatis使用注意的细节
- mybatis使用注意的细节
- mybatis使用注意的细节
- mybatis使用注意的细节
- 两个devexpress的使用细节
- mybatis需要注意的小细节
- 使用函数的小细节
- svn的使用小细节
- MySQL数据库dump,restore的时候的小细节
- MyBatis缓存二级缓存的使用细节
- mybatis经常会使用到的细节
- 框架入门--mybatis小细节
- 使用HttpClient的时候容易忽略的细节
- const的一些使用小细节
- STM32 FSMC的使用小细节。
- 延迟加载static
- JDBC(二)
- 获取远程分支失败
- hbase重点总结
- SpringMVC访问静态资源
- mybatis使用时候的两个小细节
- Java应用OpenCV指南其五:图象滤波
- 点击其他区域时隐藏元素
- Docker公司宣布Solomon Hykes不再担任CTO职务
- MISCONF Redis is configured to save RDB snapshots
- 主成份分析
- NYOJ 57
- 本周开课:3天带你快速上手Kubernetes
- Java中byte数组与short,int,char,long,float,double之间的转换