一、什么是动态sql?
动态sql: 根据不同的条件凭借不同的sql语句,(逻辑判断等)实现对数据更精准的操作。
二、为什么要使用?
就是为了满足实际开发中,能够根据用户随时更改的业务需求,而灵活地对数据进行增删改操作,尽可能减少对代码的更改,而及时完成要求。
实现方式:1.xml映射器配置文件
2.注解 (看项目中dao层通过注解@select等)
比如:在执行查询语句中,尽量写成通用的语句,减少代码的修改。
三、常用动态sql?
1. if 标签:通过判断条件,动态地生成 SQL 语句。
2. choose 标签:类似于 Java 中的 switch 语句,根据条件选择生成哪一条 SQL 语句。
3. where 标签:用于在 SQL 语句的 WHERE 子句中动态拼接条件。
4. set 标签:用于在 SQL 语句的 SET 子句中动态拼接更新字段和值。
5. foreach 标签:用于遍历集合或数组,动态生成 SQL 语句。动态 SQL 的执行原理是通过解析 SQL 语句中的动态标签,根据标签内部的条件生成具体的 SQL 语句,然后执行 SQL 语句,得到对应的结果集。