MyBatis获取参数值的两种方式

mybatis是面向接口编程,mapper接口没有实现类,调用mapper接口的方法,而方法是有参数的,

因为没有实现类,所以mapper接口中的方法直接对应映射文件sql语句,所以现在sql语句写在映射文中的,所以要在映射文件中通过指定的方式(两种方式)获取对应的方法参数。

1. #{}的本质就是占位符赋值

是#{}使用占位符赋值的方式拼接sql,此时为字符串类型或日期类型的字段

进行赋值时,可以自动添加单引号。

当把这个数据传到映射文件中的时候,在mybatis执行的底层代码里,

是不知道你的参数叫什么,只知道传过来的值是什么,

所以#{}或者${}里面的名字任意都可以获取到当前这个参数值。

1)单个字面量类型的参数

mapper接口方法的参数为单个的字面量类型,可以通过#{}或者${} 任意的内容获取参数值。

①接口

//    根据用户名查询用户信息
    User getUserByUsername(String username);

②映射文件

<mapper namespace="com.atguigu.mybatis.mapper.UserMapper">
<!--        User getUserByUsername(String username);-->
    <select id="getUserByUsername" resultType="User">
        select * from t_user where username=#{username}
    </select>
</mapper>

③测试类

 @Test
    public void testUserByUsername(){
        SqlSession session = SqlSessionUtil.getSession();
        UserMapper mapper = session.getMapper(UserMapper.class);
        User user = mapper.getUserByUsername("admin");
        System.out.println(user);
    }

2)多个字面量类型的参数

多个参数的时候,mybatis会自动把当前多个参数放到一个Map集合中的,

放到Map集合的时候是以两种方式存储数据的:

①arg0,arg1,.... ②param1, ...为键࿰

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值