在线设计平台网站,10大营销理论,天津工程建设协会网站,网页图片分辨率多少合适if标签与where标签
if标签
test如果为true就会拼接查询条件#xff0c;否则不会
当没有使用Param#xff0c;test出现arg0/param1当使用Param#xff0c;test为Param指定的值当使用Pojo#xff0c;test为对象的属性名
select * from car where
if testname!n…if标签与where标签
if标签
test如果为true就会拼接查询条件否则不会
当没有使用Paramtest出现arg0/param1当使用Paramtest为Param指定的值当使用Pojotest为对象的属性名
select * from car where
if testname!null || name! name like concat(%,${name},%)
/if
if testprice!null || price! and price#{price}
/if
...注意日期不能判断为空字符串 如何所有条件都不满足上述代码会报错
解决
如果用 where 11 后面判断必须加and
select * from car where 11
if testname!null || name! and name like concat(%,${name},%)
/if
if testprice!null || price! and price#{price}
/if
...where标签
所有条件都为空时where子句不会生成自动去掉前面多余的andor
select * from car
whereif testname!null || name! name like concat(%,${name},%)/ifif testprice!null || price! and price#{price}/if
/where
...trim标签
prefix在标签前面动态的添加属性值suffix在标签后面动态的添加属性值suffixOverrides去除标签内容后面中指定的属性值prefixOverrides去除标签内容前面中指定的属性值
select * from car
trim prefixwhere suffixOverridesand | or prefixOverrides suffixif testname!null || name! name like concat(%,${name},%)/ifif testprice!null || price! and price#{price}/if
/trimset标签
主要用在update标签中只会提交不为空的条件可以动态去除语句中多余的
update car
setif testname!null || name! name#{name} , /ifif testprice!null || price! price#{price} ,/if
/set
where id#{id}choose when otherwise标签
一般在多条件中只执行某一个条件查询
用法类似与 if else if else
selecr * from car
wherechoosewhen testname!null || name! name#{name} /whenwhen testprice!null || price! price#{price} /whenotherwiseid#{id} otherwise/choose
where因为只会满足一种查询条件所有不需要加and forEach标签
collection为循环列表item为循环元素separator为循环元素之间的分隔符open为标签前面加属性值close为标签后面加属性值
批量删除
delete from car where id in(foreach collectionids itemitem separator,#{item}/foreach
)delete from car where id inforeach collectionids itemitem open( separator, close)#{item}/foreachdelete from car where foreach collectionids itemitem separatoror id#{item}/foreach批量插入
insert into car( name, price)
valuesforeach collectionlist itemitem separator,(#{item.name},#{item.price})/foreachsql与include标签
主要用于字段的封装和复用
sql idCarSqlid,car_num as carNum,brand,guide_price as guidePrice,produce_time as produceTime,car_type as carType
/sqlselect idselectAll resultTypecom.example.webapplication.pojo.Carselectinclude refidCarSql/includefrom car
/select