300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > mysql中$和_在数据库中 $和#代表什么意思?

mysql中$和_在数据库中 $和#代表什么意思?

时间:2020-12-12 06:55:52

相关推荐

mysql中$和_在数据库中 $和#代表什么意思?

#{}与${}

1.#{}实现向prepareStatement中的预处理语句中设置参数值,sql语句中#{}表示一个占位符。

SELECT*FROMUSERWHEREid=#{value}

使用占位符可以防止sql的注入,在使用时不需要关心参数的类型,mybatis会自动的进行Java与jdbc的转换。#{}可以接受简单类型和pojo的属性值。如果parameterType中指定的是单个的简单类型,#{}中可以使用value或是其他值。

2. #{}与${}的不同:

通过${}可以将parameterType传入的内容拼接在sql中,并且不进行jdbc类型转换,${}可以接受简单类型和pojo的属性值,若parameterType为单个简单类型时,${}中必须使用value。使用${}不能防止sql注入,但有时会很方便,例如:

SELECT*FROMUSERWHEREusernameLIKE'%${value}%'

3. 再比如order by排序,如果将列名通过参数传入sql,根据传的列名进行排序,应该写为:ORDERBY${columnName}

如果使用#{}将无法实现此功能。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。