1. 首页
  2. 编程面试题
  3. Java
  4. Mybatis

介绍下MyBatis中的动态SQL



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

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

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

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

5)另外还要注意一点,在SQL中如果某些参数没有确定,如“select from user where age > ? ”这种语句是静态SQL,不是动态SQL,虽然个别参数的值不知道,但整个SQL的结构已经确定,数据库是可以将它编译的,在执行阶段只需将个别参数的值补充进来即可

发布者:admin,如若转载,请注明出处:https://ai1024.vip/28710.html

QR code
//