动态SQL 您所在的位置:网站首页 有p开头的汉字 动态SQL

动态SQL

2023-06-12 02:23| 来源: 网络整理| 查看: 265

一、动态SQL (一)、if     if经常用在动态拼接查询SQL的动态条件,新增或修改的SQL的只新增或修改不为空的属性。     SQL语句   (二)、where where 元素只有在一个以上的if条件有值的情况下才去插入“WHERE”子句。而且,若最后的内容是“AND”或“OR”开头的,where 元素也会合理处理                             ...          where+if

(三)、choose, when, otherwise 有些时候,我们不想用到所有的条件语句,而只想从中择其一。针对这种情况,MyBatis 提供了 choose 元素,它有点像 Java 中的 switch 语句/if...else if...else。                         SQL语句                             SQL语句                             SQL语句            

 where + choose, when, otherwise 搭配使用 (四)、trim

trim标签一般用于去除sql语句中多余的and关键字,逗号,或者给sql语句前拼接 “where“、“set“以及“values(“ 等前缀,或者添加“)“等后缀,可用于选择性插入、更新、删除或者条件查询等操作。

| 属性            | 描述                                                         | | --------------- | ------------------------------------------------------------ | | prefix          | 给sql语句拼接的前缀                                          | | suffix          | 给sql语句拼接的后缀                                          | | prefixOverrides | 去除sql语句前面的关键字或者字符,该关键字或者字符由prefixOverrides属性指定,假设该属性指定为"AND",当sql语句的开头为"AND",trim标签将会去除该"AND" | | suffixOverrides | 去除sql语句后面的关键字或者字符,该关键字或者字符由suffixOverrides属性指定 |

                       

(五)、set 当在 update 语句中使用if标签时,如果前面的if没有执行,则或导致逗号多余错误。使用set标签可以将动态的配置 SET 关键字,并剔除追加到条件末尾的任何不相关的逗号。使用 if+set 标签修改后,如果某项为 null 则不进行更新,而是保持数据库原值。                             ...          (六)、foreach 动态 SQL 的另外一个常用的必要操作是需要对一个集合进行遍历,通常是在构建 IN 条件语句的时候。

    

二、多表关系映射 (一)、关联  user(多) -- role 关联处理“有一个”类型的关系。主要用在"多对一"或"一对一"的关系中,取出"一"             property 类中指向"一"的属性;         javaType 指定property指定属性的类型         column   指定关联的列名,外键         select   指定查询关联的"一"的sql语句的id

(二)、集合 主要用在一对多的关系中,取出"多"             property 类中指向"多"的属性;         javaType 指定property指定属性的类型(java.util.ArrayList)         column   指定关联的列名         select   指定查询关联的"多"的sql语句的id



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有