使用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方式传递,发现还是不错的。
至于其他方式就不做记录了,只记录一下自己使用频率比较多的,当然在使用的过程中还会有其他的小问题,这个就要具体问题具体分析。