mybatis中字符串数字
2019-05-24 08:51
316 查看
1、条件查询时,不指定jdbcType=VARCHAR,若入参是0012346595时将查不到数据。
<if test="filmCode != null and filmCode != ''"> and f.film_code= #{filmCode} </if>
原因:当不指定jdbcType为字符串时,字符串0012346595将会被转换为数值12346595,导致查不到数据。
正确方式是:
<if test="filmCode != null and filmCode != ''"> and f.film_code= #{filmCode,jdbcType=VARCHAR} </if>
这样字符串0012346595就不会被转换为数值了。
2、在if使用字符串数字,如果直接写
<if test = "xx == '1' "> </if>,这样即使是
xx == ‘1’,通常情况下也不会进入判断的。因为字符串
'1'被转换成了数字
1。必须这样写:
xx == 1。不推荐这样写,更规范的写法是,使用
toString()转换成字符串
<select id="getByNameAndPwd" parameterType="String" resultMap="MemberResult"> select * from `member` <if test="isMerch != '' and isMerch == '1'.toString() " > where `mobile` = #{name} and `password` = #{password} </if> <if test="isMerch != '' and isMerch == '2'.toString() " > where `name` = #{name} and `password` = #{password} </if> </select>
相关文章推荐
- 持久层mybatis的sql向sqlserver插入数据,带小数位的数字字符串自动四舍五入
- mybatis 里面使用<if test=""> 判断,当后台传的值是数字字符串时,怎么处理
- C#(IsNumeric) 字符串转换为数字的几种方法
- C#实现数字字符串左补齐0的两种方法
- php,用什么函数计算字符串里面数字的个数呢
- C++中数字与字符串之间的转换
- Java:将字符串中的数字转换成整型
- 练习 2-3 编写函数 htoi(s),把由十六进制数字组成的字符串(包含可选的前缀 0x 或 0X)转换为与之等价的整型值。字符串中允许包含的数字包括:0~9、a~f 以及 A~F。
- 有一个字符串,其中包含中文字符、英文字符和数字、空格及其他字符,请统计和打印出各个字符的个数。
- Java把数字格式化为货币字符串
- 1042. Shuffling Machine (20) - sstream实现数字转字符串
- 80x86 汇编语言:输入字符串、显示其中数字
- 在C#中生成唯一的字符串和数字
- Delphi 判断一个字符串是否为数字
- C语言中将数字转换为字符串的方法
- 字符串转数字
- java截取字符串,截串,substring和split,分割字母和数字,正则缝隙
- JavaScript 数字与字符串 比较大小
- [工作日志] 验证字符串是否数字
- 算法--判断字符串是不是数字