6.1 if和where标签
select emp_id,emp_name,emp_salary from t_emp
or emp_name=#{empName}
or emp_salary>#{empSalary}
where标签会自动去掉“标签体内前面多余的and或者or
if标签可以做判断
6.2 set标签
update t_emp
emp_name=#{empName},
emp_salary=#{empSalary},
where emp_id=#{e服务器托管网mpId}
set标签用在update标签中,使用set标签动态管理set子句,并且动态去掉两端多余的逗号。
6.3 trim标签
使用trim标签控制条件部分两端是否包含某些字符
- prefix属性:指定要动态添加的前缀
- suffix属性:指定要动态添加的后缀
- prefixOverrides属性:指定要动态去掉的前缀,使用“|”分隔有可能的多个值
- suffixOverrides属性:指定要动态去掉的后缀,使用“|”分隔有可能的多个值
select emp_id,emp_name,emp_age,emp_salary,emp_gender
from t_emp
emp_name=#{empName} and
emp_salary>#{empSalary} and
emp_age=#{empAge} or
emp_gender=#{empGender}
6.4 choose/when/otherwise标签
在多个分支条件中,仅执行一个。
- 从上到下依次执行条件判断
- 遇到的第一个满足条件的分支会被采纳
- 被采纳分支后面的分支都将不被考虑
- 如果所有的when分支都不满足,那么就执行otherwise分支
select emp_id,emp_name,emp_salary from t_emp
where
emp_name=#{empName}
emp_salary
1=1
6.4 foreach标签
基本用法:
(#{emp.empName},#{myIndex},#{emp.empSalary},#{emp.empGender})
注意:
上面批量插入的例子本质上是一条SQL语句,而实现批量更新则需要多条SQL语句拼起来,用分号分开。也就是一次性发送多条SQL语句让数据库执行。此时需要在数据库连接信息的URL地址中设置
jdbc:mysql:///mybatis-exa服务器托管网mple?allowMultiQueries=true
例如批量修改:
update t_emp set emp_name=#{emp.empName} where emp_id=#{emp.empId}
6.5 sql片段
抽取重复的SQL片段
select emp_id,emp_name,emp_age,emp_salary,emp_gender from t_emp
引用已抽取的SQL片段
7.mybatis拓展
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
目录 1、常见分布随机数的产生 1.1 二项分布 1.2 泊松分布 1.3 几何分布 1.4 均匀分布(离散,等可能分布) 1.5 均匀分布(连续型等可能) 1.6 指数分布(描述“寿命”问题) 1.7 正态分布 1.8 三大抽样分布 1.8.1 2分布 1.…