首页 > 数据库技术 > 详细

都有哪些动态 sql?能简述一下动态 sql 的执行原理不?

时间:2021-01-01 22:46:32      阅读:23      评论:0      收藏:0      [点我收藏+]

Mybatis 动态 sql 是做什么的?都有哪些动态 sql?能简述一下动态 sql 的执行原理不?

a、Mybatis 动态 sql 可以让我们在 Xml 映射文件内,以标签的形式编写动态 sql,完成逻辑判断和动态拼接 sql 的功能。

b、Mybatis 提 供 了 9 种 动 态 sql 标 签 : trim |where |set |foreach |if |choose |when |otherwise |bind。

c、其执行原理为,使用 OGNL 从 sql 参数对象中计算表达式的值,根据表达式的值动态拼接 sql,以此来完成动态 sql 的功能。

 

#{}和${}的区别是什么?

a、#{}是预编译处理,${}是字符串替换。

 

b、Mybatis 在处理#{}时,会将 sql 中的#{}替换为?号,调用 PreparedStatement 的 set 方法来赋值;

c、Mybatis 在处理${}时,就是把${}替换成变量的值。

d、使用#{}可以有效的防止 SQL 注入,提高系统安全性。

都有哪些动态 sql?能简述一下动态 sql 的执行原理不?

原文:https://www.cnblogs.com/xujing0808/p/14219449.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!