Mybatis中@Param源码分析


前言

Mybatis中@Param源码分析


提示:以下是本篇文章正文内容,下面案例可供参考

一、@Param使用

代码如下(示例):

	List<Student> selectByNameAndSex(@Param("自定义名") String name,@Param("自定义名") Character sex);
	<select id="selectByNameAndSex" resultType="com.mk.bean.Student">
        select * from t_student where name=#{填写@Param中的值} and sex=#{填写@Param中的值}
    </select>
	@Test
    public void t4() throws Exception{
        SqlSession sqlSession = SqlSessionUtil.openSqlSession();
        //获取mapper接口对象
        //mapper是代理对象
        //selectByNameAndSex是代理方法
        StudentMapper mapper = sqlSession.getMapper(StudentMapper.class);
        List<Student> students = mapper.selectByNameAndSex("张三", '男');
        //遍历查询到的数据
        students.forEach(student -> System.out.println(student));
        //提交事务
        sqlSession.commit();
        sqlSession.close();
    }

如果我们不适用@Param注解进行自定义参数名称,那么mybatis会自动生成参数名称在xml让我们选择
我们这个方法有两个形参那么mybatis会默认给我们生成参数名称让我们来使用例如:arg0/param1,arg1/param1 。此时#{}中就需要填写arg0/param0 arg1/param1 来进行传值

二、@Param源码分析

在这里插入图片描述
在这里插入图片描述

判断执行的sql语句是什么类型的sql语句在这里插入图片描述
我们执行的查询方法要返回多个结果所以执行executeForMany()方法
继续debug进入方法
在这里插入图片描述
核心方法
在这里插入图片描述
在这里插入图片描述

这里就对应上了上文所说的mybatis会默认生成通用参数名
在这里插入图片描述
在这里插入图片描述


总结

提示:完结撒花。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值