Home > Database > Mysql Tutorial > Mybatis传多个参数(三种解决方案)

Mybatis传多个参数(三种解决方案)

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-06-07 16:03:25
Original
1190 people have browsed it

据我目前接触到的传多个参数的方案有三种。 第一种方案 DAO层的函数方法 Public User selectUser(String name,String area); 对应的Mapper.xml select id=selectUser resultMap=BaseResultMap select * from user_user_t where user_name = #{0} and user_ar

据我目前接触到的传多个参数的方案有三种。

第一种方案 

DAO层的函数方法 

Public User selectUser(String name,String area);
Copy after login
对应的Mapper.xml
<select id="selectUser" resultMap="BaseResultMap">
    select  *  from user_user_t   where user_name = #{0} and user_area=#{1}
</select>
Copy after login

其中,#{0}代表接收的是dao层中的第一个参数,#{1}代表dao层中第二参数,更多参数一致往后加即可。

第二种方案

此方法采用Map传多参数.

Dao层的函数方法

Public User selectUser(Map paramMap);
Copy after login
对应的Mapper.xml
<select id=" selectUser" resultMap="BaseResultMap">
   select  *  from user_user_t   where user_name = #{userName,jdbcType=VARCHAR} and user_area=#{userArea,jdbcType=VARCHAR}
</select>
Copy after login

Service层调用

Private User xxxSelectUser(){
Map paramMap=new hashMap();
paramMap.put(&ldquo;userName&rdquo;,&rdquo;对应具体的参数值&rdquo;);
paramMap.put(&ldquo;userArea&rdquo;,&rdquo;对应具体的参数值&rdquo;);
User user=xxx. selectUser(paramMap);}
Copy after login

个人认为此方法不够直观,见到接口方法不能直接的知道要传的参数是什么。

第三种方案

Dao层的函数方法
Public User selectUser(@param(&ldquo;userName&rdquo;)Stringname,@param(&ldquo;userArea&rdquo;)String area);
Copy after login
对应的Mapper.xml
<select id=" selectUser" resultMap="BaseResultMap">
   select  *  from user_user_t   where user_name = #{userName,jdbcType=VARCHAR} and user_area=#{userArea,jdbcType=VARCHAR}
</select> 
Copy after login

个人觉得这种方法比较好,能让开发者看到dao层方法就知道该传什么样的参数,比较直观,个人推荐用此种方案。

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Issues
Mybatis mapping problem
From 1970-01-01 08:00:00
0
0
0
java - Mybatis related query
From 1970-01-01 08:00:00
0
0
0
REGEXP in mybatis
From 1970-01-01 08:00:00
0
0
0
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template