美文网首页
mybatis--获取参数的方法

mybatis--获取参数的方法

作者: 何以解君愁 | 来源:发表于2022-08-04 22:01 被阅读0次

获取参数的两种方式:#{}与${}

{}与${}区别:

{}本质时字符串拼接,#{}本质时占位符赋值{}使用字符串拼接的方式拼接sql,若为字符串类型或日期类型的字段进行赋值时,需要手动加单引号;可能造成sql注入
(print('他叫'+name+ ',今年'+str(age)+ '岁+,他的身高是'+str(height)+'厘米')

{}使用占位符赋值的方式拼接sql,此时为字符串类型或日期类型的字段进行赋值时,可以自动添加单引号;可以避免sql注入

(常用占位符:
%s 格式化字符串
%d 格式化整数
%f 格式化浮点数,可指定小数点后精度。如%.2f—表示保留两位小数
name='小强'age=18
heigh=179.5
print('他叫%s,今年%d岁,他的身高是%.1f厘米'%(name ,age , heigh))//他叫小强,今年18岁,他的身高是179.5厘米)
( SQL注入即是指 web应用程序 对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的 SQL语句 ,在管理员不知情的情况下实现非法操作,以此来实现欺骗 数据库服务器 执行非授权的任意查询,从而进一步得到相应的数据信息)

1.若mapper接口方法的参数为单个的字面量类型,可以通过#{}和{}以任意的内容获取参数值,一定要注意{}的单引号问题(需要时写作'{}') 2.若mapper接口方法的参数为多个的字面量类型此时MayBatis会将参数放在map集合中,以两种方式存储数据 ①以arg0, arg1. ..为键,以参数为值 ②以param1 , param2...为键,以参数为值 因此,只需要通过#{}和{}访问map集合的键,就可以获取相对应的值,一定要注意{}的单引号问题 3.若mapper接口方法的参数为map集合类型的参数,只需要通过#{}和{}访问map集合的键,就可以获取相对应的值,一定要注意{}的单引号问题 4.若mapper接口方法的参数为实体类类型的参数,只需要通过#{}和{}访问实体类中的属性名,就可以获取相对应的属性值,一定要注意{}的单引号问题 5.可以在mapper接口方法的参数上设置@Param注解,此BMyBatis会将这些参数放在map中,以两种方式进行存储 ①以@Param注解的vaLue属性值为键,以参数为值 ②以param1 , param2...为键,以参数为值 只需要通过#{}和{}访问map集合的键,就可以获取相对应的值,一定要注意${}的单引号问题

相关文章

网友评论

      本文标题:mybatis--获取参数的方法

      本文链接:https://www.haomeiwen.com/subject/cnzkwrtx.html