首页 > 其他 > 详细

mybatis-传多个参数

时间:2019-10-29 14:48:52      阅读:63      评论:0      收藏:0      [点我收藏+]

第一种方案:下标传参

DAO层的函数方法

Public User selectUser(String name, String area);

对应的Mapper.xml

<select id="selectUser" resultMap="BaseResultMap"> 
    select * from user where name = #{0} and area = #{1} 
</select> 

说明:参数类型可以不写,#{0}代表接收的是dao层中的第一个参数,#{1}代表dao层中第二参数,后续参数按下标以此类推。


 

第二种方案:map封装

DAO层的函数方法

Public User selectUser(Map<String, Object> paramMap);

对应的Mapper.xml

<select id="selectUser" parameterType="java.util.Map" resultMap="BaseResultMap"> 
  select
* from user where name = #{name,jdbcType=VARCHAR} and area = #{area, jdbcType=VARCHAR}
</select>

service层调用

Map<String, Object> paramMap = new hashMap(); 
paramMap.put("name", "参数值"); 
paramMap.put("area", "参数值"); 
User user = userDao.selectUser(paramMap);

 

第三种方案:使用注解@param

DAO层的函数方法

Public User selectUser(@param("name")String userName, @param("area")String userArea);

对应的Mapper.xml 

<select id=" selectUser" resultMap="BaseResultMap"> 
   select * from user where name = #{userName,jdbcType=VARCHAR} and area=#{userArea, jdbcType=VARCHAR} 
</select>

说明:在参数不多的情况,推荐第三种方案,比较直观。

mybatis-传多个参数

原文:https://www.cnblogs.com/lwcode6/p/11758369.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!