加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

@Param注解的用法解析

发布时间:2020-12-16 23:47:14 所属栏目:百科 来源:网络整理
导读:实例一?@Param注解单一属性 dao层示例 Public?User?selectUser( @param(“userName”) String name, @param(“userpassword”) String?password); xml映射对应示例 ? select? id= "?selectUser"? resultMap= "BaseResultMap" ?? ???select??*??from?user_use

实例一?@Param注解单一属性

dao层示例

Public?User?selectUser(@param(“userName”) String name,@param(“userpassword”) String?password);

xml映射对应示例

?

  1. <select?id="?selectUser"?resultMap="BaseResultMap">??
  2. ???select??*??from?user_user_t???where?user_name?=?#{userName,jdbcType=VARCHAR}?and?user_password=#{userPassword,jdbcType=VARCHAR}??
  3. </select>

?

?

注意:采用#{}的方式把@Param注解括号内的参数进行引用(括号内参数对应的是形参如 userName对应的是name);

实例二?@Param注解JavaBean对象

dao层示例

public?List<user>?getUserInformation(@Param("user")?User user);

xml映射对应示例

?

  1. <select?id="getUserInformation"?parameterType="com.github.demo.vo.User"?resultMap="userMapper">??
  2. ????????select???
  3. ????????<include?refid="User_Base_Column_List"?/>??
  4. ????????from?mo_user?t?where?1=1??
  5. ??????????????????????<!--?因为传进来的是对象所以这样写是取不到值得?-->??
  6. ????????????<if?test="user.userName!=null??and?user.userName!=‘‘">???and???t.user_name?=?#{user.userName}??</if>??
  7. ????????????<if?test="user.userAge!=null??and?user.userAge!=‘‘">???and???t.user_age?=?#{user.userAge}??</if>??
  8. ????</select>??

?

以下内容为摘录内容:源于?冲吧,不要停!?如有侵权,请通知作者,及时删除~~~

?

1,使用@Param注解

当以下面的方式进行写SQL语句时:

??? @Select("select column from table where userid = #{userid} ")
?? ?public int selectColumn(int userid);

当你使用了使用@Param注解来声明参数时,如果使用 #{} 或 ${} 的方式都可以。

??? @Select("select column from table where userid = ${userid} ")
?? ?public int selectColumn(@Param("userid") int userid);

?

当你不使用@Param注解来声明参数时,必须使用使用 #{}方式。如果使用 ${} 的方式,会报错。

??? @Select("select column from table where userid = ${userid} ")
?? ?public int selectColumn(@Param("userid") int userid);

?

2,不使用@Param注解

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

??? // 这里id是user的属性

??? @Select("SELECT * from Table where id = ${id}")?? ?Enchashment selectUserById(User user);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读