Mybatis笔记(入门)

本文详细解析了MyBatis中处理不同参数类型的技巧,包括使用#{}

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 获取参数的值的两种方式:

${}:insert into emp values(null,admin,23,男)

statement:必须使用字符串拼接的方式操作SQL,一定要注意单引号的问题

#{}:insert into emp values(null,?,?,?)

PreparedStatement:可以使用通配符操作SQL,因为在为String赋值时,可以自动加单引号,因此不需要注意单引号的问题

使用建议:建议使用#{},在特殊情况下(模糊查询,批量删除),需要使用${}

 

  • 不同的参数类型,${}和#{}的不同取值方式:

1、当传输参数为单个String或基本数据类型和其它包装类

#{}:可以以任意的名字获取参数值

${}:只能以${value}或${_parameter}获取

2、当传输参数为JavaBean时

#{}和${}都可以通过属性名直接获得属性值,但是要注意${}的单引号问题

3、当传输多个参数时,mybatis会默认将这些参数放在map集合中

两种方式:

(1)键为0,1,2,3...N-1,以参数为值

(2)键为param1,param2,param3...paramN,以参数为值

#{}:#{0}、#{1};#{param1}、#{param2}

${}:${param1}、${param2},但是需要注意${}的单引号问题

4、当传输Map参数时

#{}和${}都可以通过键的名字直接获值,但是要注意${}的单引号问题

5、命名参数

可以通过@Param("key")为map集合指定键的名字

Emp getEmpByEidAndEnameByParam(@Param("eid")String eid,@Param("ename")String ename)

#{}和${}都可以通过属性名直接获得属性值,但是要注意${}的单引号问题

6、当传输参数为List或Array时,mybatis会将List或Array放在map中

List以list为键,Array以array为键

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值