mybatis3中增加了使用注解来配置Mapper的新特性,本篇文章主要介绍其中几个:
@SelectProvider、@UpdateProvider、@InsertProvider和@DeleteProvider
使用都差不多,本次就简单说一下@SelectProvider
@SelectProvider(type=xxxx.class,method=”xxxx”)
Select Provider查询提供者,指向sql类中的具体提供sql语句的方法。
例如:
Map类(使用@Mapper注解):
@SelectProvider(type=UserSql.class,method=”selectUserById”)
public User selectById(@Param(value=”id”)Integer id);
UserSql类:
public String selectUserById(Map< String, Object> para ){
return new SQL(){{
SELECT(“*”);
FROM(“base_user”);
WHERE(“id=”+para.get(“id”));
}}.toString();
}
1, Mapper中传入的参数使用了@param注解,在sql类中必须要用Map来接收参数,(如果只传递一个参数可以不用此注解)
2,sql类中返回的sql语句可以是用string直接写,也可以用sql类写,之后调用toString