mybatis的dao中@param注解

mybatis的dao中@param注解

2017年12月19日 20:01:47 LizhenBlog 阅读数:833

如果dao的方法中只有一个参数,比如这样

没有注解

public java.util.HashMap<String, Object> get1(String uname);

那么在mapper中,以下写法都可以

select * from t_user where uname = #{0}

select * from t_user where uname = #{uname}

select * from t_user where uname = #{aaa}

第一个好理解,就是获得第1个参数。第二个和第三个其实一样,sql中的参数名不是必须和dao中的一致,可以随便写。

如果带有注解

public java.util.HashMap<String, Object> get1(@Param("uname")String uname);

那么只能这样写

public java.util.HashMap<String, Object> get1(@Param("uname")String uname);

mapper里的变量名必须是注解里的名称,其他的都不行,即使用顺序#{0}也不可以。

如果是多个参数

不带注解

public java.util.HashMap<String, Object> get2(String uname,String pword);

只能通过#{0},#{1}采用序号访问,其他的都不行,即使#{uname},#{pword}也不可以。

带注解

public java.util.HashMap<String, Object> get3(@Param("uname")String uname,@Param("pword")String pword);

那就只能通过  #{注解名}  去访问了。

猜你喜欢

转载自blog.csdn.net/f45056231p/article/details/88844023
今日推荐