第四章 MyBatis动态SQL标签
一、动态SQL标签
背景
在企业级项目中,经常会遇到多条件筛选查询,这样需要写多条SQL语句去匹配对应条件下的查询,增加开发难度和维护成本,尤其在JDBC中,SQL语句是插入到Java环境中,这样会增大开发成本
定义
使用标签化的语言,根据环境变化,产生出适应当前条件下的SQL语句,SQL语句是变化的
作用
- 大大简化了开发难度和维护成本
- 进一步优化了JDBC持久化数据库的代码
主要标签
- < if >条件标签
主要属性:test属性:验证当前条件是否成立,如果为true,显示标签中内容,如果为false则隐藏 - < where>筛选标签
主要作用:- 替代where 1=1
- 如果发现where后面直接跟and或者or的话,会直接剔除and或者or
- < foreach>循环标签
重要属性:- collection:当前需要循环变量的集合,踏实java中数据类型
- item:是一个变量类型,同来存储当前循环对象或者数据
- open:开始
- closr:结束
- separator:分隔符
- index:索引、下标、位置
注意:接口方法中的参数名需要跟xml中collection中名称对应起来,默认是不会对应,需要在声明接口方法时在行驶参数前加入一个注释@Param("变量名")
注解:就是一个特殊的Java代码,代表一段功能
- < choose>多重条件标签
那些将要去的地方,都是素未谋面的故乡

浙公网安备 33010602011771号