mybatis中使用枚举判断

需求:
1:联盟/部落玩家查询在线人数时只能查本阵营
2:管理员可以查询所有

枚举类
  • 此处我直接使用了lombok插件,如果不喜欢使用lombok插件的可以自己生成get方法和构造器
@Getter
@AllArgsConstructor
public enum UserType {

    GM("gm","游戏管理员"),
    ALLIANCE("alliance","联盟"),
    HORDE("horde","部落");

    private String code;
    private String name;
}
mapper.xml
<select id="countByType" resultType="int">
  select count(1) from `user`
  <where>
    <if test="code == 'alliance' or code == 'horde'">
      and `type` = #{type}
    </if>
  </where>
</select>
service.java/mapper.java
public interface IUserService {
    Integer countByType(UserType member);
}
public interface UserMapper {
    Integer countByType(UserType type);
}
service.java/mapper.java
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")
public class UserServiceImplTest {

    @Autowired
    private IUserService userService;

    @Test
    public void count(){
        System.out.println(userService.countByType(UserType.ALLIANCE));
        System.out.println(userService.countByType(UserType.HORDE));
        System.out.println(userService.countByType(UserType.GM));
    }
}    
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一章《论我国基础教育课程改革的价值转型》 由华东师范大学终身教授、博士生导师钟启泉老师著的《课程的逻辑》...
    爱读书的靖哥哥阅读 947评论 1 4
  • 先举个例子吧,比如我每天都请你去吃饭,每天都请,突然有一天我没带钱,或者突然有一天告诉你AA制,那会出现以下几个结...
    浮沉摇曳阅读 1,017评论 0 1
  • 他们有很多的机会 自己整天无所事事 在温室里醉生梦死 一部一部的电视剧 看到恶心看到呆滞 用零食来填满空虚 熬夜懒...
    高呐阅读 247评论 0 0
  • 复盘内容是精读unit3textB 1.【我在本篇文章学到的重要概念】 要为了自己的梦想而不懈努力,不管有多困难 ...
    17数436申婧柔阅读 189评论 1 0
  • (无题)冬日不沾寒,冷风添衣裳。夜伴风啸声,一声雁飞远。情归何处去,流年谁与谁。物极两争峰,它乡青山水。
    甘朝武阅读 144评论 0 0