Mybatis传递多个参数方式

使用Mybatis也有一段时间,可是突然发现竟然不咋会使用这个东西了,真是无语了。在以前的项目中使用的参数基本都是map形式的,很少会使用单个的参数传递,只是在不同的公司会有不同的写法,又不得不了解一下,真是亮瞎了24K合金眼,发现用法还是比较丰富的。

自己搜索了一下,大致有四种方式,这里只针对项目中遇到的和经常用到的方式进行记录一下。

一.就是string参数,分为多个或者单个参数的形式,或者@Param注解方式,参数较多的情况,用map比较方便

有注解方式的string参数在XML中的获取方式是不一样的。

public User selectUser(@Param("userName") String name, int @Param("deptId") deptId);

//#{}里的参数和注解中的参数一致
<select id="selectUser" resultMap="UserResultMap">
    select * from user
    where user_name = #{userName} and dept_id = #{deptId}
</select>

二.Map方式传参

public User selectUser(Map<String, Object> params);

<select id="selectUser" parameterType="java.util.Map" resultMap="UserMap">
    select * from user
    where user_name = #{userName} and dept_id = #{deptId}
</select>

#{}里面的名称对应的是Map里面的key名称。

这种map方法适合传递多个参数,且参数易变能灵活传递的情况,大多数接触的项目都是以map方式传递,发现还是不错的。

至于其他方式就不做记录了,只记录一下自己使用频率比较多的,当然在使用的过程中还会有其他的小问题,这个就要具体问题具体分析。

发布了85 篇原创文章 · 获赞 30 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/BinshaoNo_1/article/details/102079863