本篇内容主要讲解“Mybatis条件if test怎么使用枚举值”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Mybatis条件if test怎么使用枚举值”吧!
Mybatis条件if test使用枚举值
1.正确
package com.weather.weatherexpert.common.utils;public enum City { XINZHOU(100002,"忻州"), DATONG(100003,"大同"), TAIYUAN(100001,"太原"); private final Integer code; private final String name; City(Integer value, String desc) { this.code = value; this.name = desc; } public Integer getCode() { return code; } public String getName() { return name; }}
xml:
<!--<if test="cityName == @com.weather.weatherexpert.common.utils.City.XINZHOU@getName"><!–wrong,java.lang.ClassNotFoundException: Unable to resolve class: com.weather.weatherexpert.common.utils.City.XINZHOU–>--><!--<if test="cityName == @com.weather.weatherexpert.common.utils.City@XINZHOU@getName"><!–wrong,[org.apache.ibatis.ognl.ParseException: Encountered " "@" "@ "" at line 1, column 65.–>--><if test="cityName == @com.weather.weatherexpert.common.utils.City@XINZHOU.getName"><!--right-->area_table</if> where 1=1<if test="cityName == @com.weather.weatherexpert.common.utils.City@XINZHOU.getName"><!--right-->and city_name=#{cityName}</if>
2.错误
package com.weather.weatherexpert.common.utils;public class CityClass { public static enum CityEnum { XINZHOU(100002, "忻州"), DATONG(100003, "大同"), TAIYUAN(100001, "太原"); private final Integer code; private final String name; CityEnum(Integer value, String desc) { this.code = value; this.name = desc; } public Integer getCode() { return code; } public String getName() { return name; } }}
xml:
<if test="cityName == @com.weather.weatherexpert.common.utils.CityClass@CityEnum.XINZHOU.getName"><!--wrong--> area_table </if>
可见,直接定义的枚举类可以正常使用,在类中定义的枚举类这样使用会报错,可能方法还没有找到。
如下正确:
<if test="cityName == @com.a.b.c.CityClass$CityEnum@XINZHOU.getName"><!--right--> name = #{username} </if>
Mybatis里使用枚举Enum判断
<if test="dtEnum == @com.xxx.xxx.TestTypeEnum@HOUR"> DATE_FORMAT(TM,'%Y-%m-%d %H') as keyStr,</if>
TestTypeEnum定义如下
HOUR
("hour"),DAY
("day"),MONTH
("month"),YEAR
("year");
到此,相信大家对“Mybatis条件if test怎么使用枚举值”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!