我很习惯使用 mybatis 作为 ORM 工具。但是我无法理解参数映射在 mybatis 中是如何工作的。
假设我定义了一个 mybatis 映射器接口,该接口具有获取用户详细信息的方法。
我定义了我的Querybuilder 类,它有 select query。
public interface UserMapper {
@SelectProvider(type = UserQueryBuilder.class, method = "getUserId")
Long getUserId(@Param("first") String firstName, @Param("last") String lastName, @Param("location") String location);
}
public class UserQueryBuilder(){
public String getUserId(String firstName, String lastName, String location) {
return new SQL() {{
SELECT("USER_TABLE.USER_ID");
FROM("USER_TABLE");
WHERE("USER_TABLE.FIRST_NAME" + " = #{first}");
WHERE("USER_TABLE.LAST_NAME" + " = #{last}");
WHERE("USER_TABLE.LOCATION" + " = #{location}");
}}.toString();
}
}
在上面提到QueryBuilder的SQL 查询参数如何能够映射到“第一个”和“最后一个”参数值,在“userMapper”接口中定义。
波斯汪
摇曳的蔷薇
相关分类