摘要:本文简单介绍在 MyBatis 的注解方式中,写包含 in 语法的 SQL 并按IN的顺序返回
@Select("<script>"
+ "SELECT * from user_info where user_id in "
+ "<foreach item='item' index='index' collection='list' open='(' separator=',' close=')'>"
+ "#{item}"
+ "</foreach>"
+ "order by field(user_id,"
+ "<foreach item='item' index='index' collection='list' open='' separator=',' close=''>"
+ "#{item}"
+ "</foreach>"
+ ")"
+ "</script>")
@Results({
@Result(column = "user_id", property = "userId", jdbcType = JdbcType.VARCHAR),
@Result(column = "nick_name", property = "nickName", jdbcType = JdbcType.VARCHAR),
@Result(column = "signature", property = "signature", jdbcType = JdbcType.VARCHAR),
@Result(column = "image", property = "image", jdbcType = JdbcType.VARCHAR)
})
List<UserInfo> getActiveUser(@Param("list") List<String> list);