mybatis的常用标签用法总结

一、背景

在我们的学习过程中,我们经常使用到mybatis,这里主要讲讲常用的标签,这样你也可以在面试官面前有底气了,那下面我们就来讲讲这些常用的标签,再说了标签不熟悉非常影响开发效率和质量。好了废话不多说了。

二、selectKey

1.应用场景:新增数据时

2.插入数据并且返回当前数据的id

<insert id="selectUser">
    <!-- selectKey 标签表示子查询中主键的提取问题
    keyColumn表示查询语句返回结果的列名
    keyProperty表示将属性设置到某个列中 此处为id中
    order="AFTER"表示在插入语句之后执行
    resultType="long"表示返回值得类型为long类型
    -->
    <selectKey keyColumn="myId" keyProperty="id" order="AFTER" resultType="long">
       select max(id)+1 as myId from user
    </selectKey>
    <!-- 注意此处的id必须和selectKey中返回结果的列名一致
         此处的name必须和测试类中map设置的key的名字一致,此处
         的address必须和测试类中map设置的key的名字一致
    -->
    insert into user(id,name,address) values(#{id},#{name},#{address})
</insert>

三、isNotNull

1.应用场景:动态拼接sql条件

2.isNotNull,它的含义就是不为null,也就是<>null。

区别isNotEmpty,它的含义就是不为空,也就是<>null,并且<>''(空字符串)下面会讲。

3.例子

UPDATE
    PRODUCT P
SET
    UPDATE_TIME = SYSDATE
    <isNotEmpty prepend="AND" property="productName">
        P.PRODUCT_NAME = #productName#
    </isNotEmpty>
WHERE
    P.PRODUCT_ID = #productId#

四、isNotEmpty

1.应用场景:动态拼接sql条件

2.isNotEmpty,它的含义就是不为空,也就是<>null,并且<>''(空字符串)。

3.例子

UPDATE
    PRODUCT P
SET
    UPDATE_TIME = SYSDATE
    <isNotNull prepend="AND" property="productName">
        P.PRODUCT_NAME = #productName#
    </isNotNull>
WHERE
    P.PRODUCT_ID = #productId#

五、include

1.应用场景:多个sql的查询数据一样时,复用方便后期维护

2.相当于代码复用,定义好

<sql id="my.full.columns">
id,
gmt_create,
gmt_modified
</sql>
在不同的select语句复用
<include refid="my.full.columns"/>

六、结束

常用的理解一下!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值