在使用MyBatis时,如果参数列表中传入的是一个JavaBean对象,那么在MyBatis的SQL中应该是如下使用方式。

如果参数中加了@Param,那么既可以使用#{}获取,也可以使用${}获取。

1
2
@Select("SELECT id,username from user where age between #{queryParam.minAge} and #{queryParam.maxAge}")
List<UserVo> queryUserList(@Param("queryParam") QueryParam queryParam);

使用$获取

1
2
@Select("SELECT id,username from user where age between ${queryParam.minAge} and ${queryParam.maxAge}")
List<UserVo> queryUserList(@Param("queryParam") QueryParam queryParam);

如果不使用@Param注解时,参数只能有一个,并且是Javabean。在SQL语句里可以引用JavaBean的属性,而且只能引用JavaBean的属性。

1
2
@Select("SELECT id,username from user where age between ${minAge} and ${maxAge}")
List<UserVo> queryUserList(QueryParam queryParam);