动态的给SQL语句赋值方式
实际开发中SQL语句的参数值是不能写死到配置文件中的
,应该由前端发起的请求中包含的请求参数中的数据决定
JDBC当中的占位符
在JDBC中使⽤?
作为占位符,在程序的执行过程中,我们需要手动给SQL语句中的占位符传值
MyBatis中的占位符
#{}底层使用的是PreparedStatement对象
:SQL语句中含有占位符,先对SQL语句进行预编译,然后获取值给SQL语句中的占位符 ?
传值, 可以避免SQL注入的风险
${}底层使用的是Statement对象
: 直接将获取的值拼接到SQL语句当中,然后对拼接好的SQL语句进行编译,这样做存在SQL注入的风险
对于#{}(可以避免SQL注入的风险)
和${}(可以进⾏SQL语句关键字拼接)
底层都会根据条件自动获取对应的值然后为占位符赋值,最后将获取到值传给SQL语句
${}的应用
数据的升序或降序
需求:通过向SQL语句中注⼊asc或desc关键字
来完成查询数据的升序或降序排列
拼接表名
批量删除(in的方式)
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。