问答详情
源自:5-4 揭开最后一层面纱

SQL语句配置中,不写入paramType,mybatis如何知道所传入参数的类型?

在接口方法中使用@Param(value="")方法来传入两个及以上参数(对应的SQL语句中不写paramType),mybatis是如何知道我传入的参数的类型?

public interface UserDao {

	public int getUser(@Param(value = "userName") String userName,
			@Param(value = "userPwd") String userPwd);
}
	<select id="getUser" resultType="int">
		select
		  count(*)
		from
		  user
		where 
		  user_id = #{userId} and user_pwd = #{userPwd}
	</select>


提问者:E_714342 2017-08-13 16:22

个回答

  • 慕仔7498475
    2017-08-22 12:22:34

    会使用动态代理去看你接口类的返回值是什么类型的,源码在MapperMethod类里面的execute方法中判断执行类型为Select的时候,怎么找到这个类 老师在之前的视频中有讲解,附一张图片http://img.mukewang.com/599bb16a0001d5c209370292.jpg