java中mapper_Java--mapper.xml中常用SQL标签

1、查询语句

selec...

2、插入语句

insert into ordertable(...)

values(...)

3、删除语句

delete from ordertable

where order_id = #{orderId,jdbcType=VARCHAR}

4、修改语句

update ordertable

set cid = #{cid,jdbcType=VARCHAR},

address = #{address,jdbcType=VARCHAR},

create_date = #{createDate,jdbcType=TIMESTAMP},

orderitem_id = #{orderitemId,jdbcType=VARCHAR}

where order_id = #{orderId,jdbcType=VARCHAR}

需要配置的属性

id="xxxx"    表示此段SQL执行语句的唯一标识,也是接口的方法名称【必须一致才能找到】

parameterType="xxxx"    表示SQL语句中需要传入的参数,类型要与对应的接口方法的类型一致

resultMap="xxx"    定义出参,调用已定义的映射管理器的id的值

resultType="xxxx"    定义出参,匹配普通Java类型或自定义的pojo       【出参类型若不指定,将为语句类型默认类型,如语句返回值为int】

if标签

用法:

select * from product_

where name like concat('%',#{name},'%')

where标签

作用:

标签会进行自动判断:

如果任何条件都不成立,那么就在sql语句里就不会出现where关键字(重点)

如果有任何条件成立,会自动去掉多出来的 and 或者 or。(就不需要我们追加1=1之类的入侵性代码了)

用法:

select * from product_

and name like concat('%',#{name},'%')

and price > #{price}

set标签

作用是:

与where标签类似的,在update语句里也会碰到多个字段相关的问题。 在这种情况下,就可以使用set标签。

其效果与where标签类似,有数据的时候才进行设置。

用法:

update product_

name=#{name},

price=#{price}

where id=#{id}

trim标签

作用是:

trim 用来定制想要的功能,比如where标签就可以用

用法:

select *from product_

and name like concat('%',#{name},'%')

and price > #{price}

update product_

name=#{name},

price=#{price}

where id=#{id}

trim 用来定制想要的功能,比如where标签就可以用

...

来替换

set标签就可以用

...

来替换

运行set标签中的代码,其效果是一样的。

choose when otherwise 标签

作用是:

有任何任何条件符合,就进行条件查询,

否则就只使用id>1这个条件(即前面的标签都不符合条件)。

也就相当于if···········else

Mybatis里面没有else标签,但是可以使用when otherwise标签来达到这样的效果。

用法:

/p>

PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

SELECT * FROM product_

and name like concat('%',#{name},'%')

and price > #{price}

and id >1

foreach标签

作用是:

foreach标签通常用于in 这样的语法里。

用法(接收一个List集合参数):

/p>

PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

SELECT * FROM product_

WHERE ID in

open="(" separator="," close=")">

#{item}

bind标签

bind标签就像是再做一次字符串拼接,网上也有说叫绑定,差不多意思,只是方便后续的使用。

用法:

/p>

PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

select * from product_ where name like #{likename}

sql片段标签

作用是:

通过该标签可定义能复用的sql语句片段,在执行sql语句标签中直接引用即可。

这样既可以提高编码效率,还能有效简化代码,提高可读性。

用法:

o.order_id,o.cid,o.address,o.create_date,o.orderitem_id,i.orderitem_id,i.product_id,i.count

select

from ordertable o

join orderitem i on o.orderitem_id = i.orderitem_id

where o.order_id = #{orderId}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值