教育行业A股IPO第一股(股票代码 003032)

全国咨询/投诉热线:400-618-4000

SQL的动态和静态是指什么?

更新时间:2021年03月18日11时27分 来源:传智教育

SQL的动态和静态

所谓SQL的动态和静态,是指SQL语句在何时被编译和执行,二者都是用在SQL嵌入式编程中的,这里所说的嵌入式是指将SQL语句嵌入在高级语言中,而不是针对于单片机的那种嵌入式编程。

SQL语句的主体结构,在编译时尚无法确定,只有等到程序运行起来,在执行的过程中才能确定,这种SQL叫做动态SQL

静态SQL语句的编译是在应用程序运行前进行的,编译的结果会存储在数据库内部。而程序运行时,数据库将直接执行编译好的SQL语句,降低运行时的开销。

MyBatis中用于实现动态SQL的元素主要有:if、where、foreach。

另外还要注意一点,在SQL中如果某些参数没有确定,如“select from user where age > ? ”这种语句是静态SQL,不是动态SQL,虽然个别参数的值不知道,但整个SQL的结构已经确定,数据库是可以将它编译的,在执行阶段只需将个别参数的值补充进来即可。实际开发中动态sql语句的使用场景非常多,最明显的例子就是多条件查询,其中查询的条件每次并不确定有哪些时。



猜你喜欢:

Mybatis原理介绍:MyBatis如何操作数据库?

MyBatis中使用#和$有什么区别?

MyBatis是什么?有什么作用?

传智教育高级Java工程师培训课程

0 分享到:
和我们在线交谈!