<?xml version="1.0" encoding="UTF-8" ?>
<!--
  ~ Copyright 2019 WeBank
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~  you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~ http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  ~
  -->

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >


<mapper namespace="com.webank.wedatasphere.linkis.cs.persistence.dao.ContextKeyListenerMapper">

    <sql id="context_key_listener">
        `id`,`listener_source`,`key_id`
    </sql>

    <insert id="createKeyListener" useGeneratedKeys="true" keyProperty="id"
            parameterType="com.webank.wedatasphere.linkis.cs.persistence.entity.PersistenceContextKeyListener">
        INSERT INTO linkis_cs_context_map_listener(<include refid="context_key_listener"/>)
        VALUES (#{listener.id},#{listener.source},#{listener.keyId})
    </insert>

    <delete id="remove">
        DELETE FROM linkis_cs_context_map_listener WHERE listener_source = #{listener.source} AND key_id = #{keyId}
    </delete>

    <delete id="removeAll">
        DELETE FROM linkis_cs_context_map_listener WHERE
        <foreach collection="keyIds" index="index" item="item" separator="," open="key_id in (" close=")">
            #{item}
        </foreach>
    </delete>

    <select id="getAll" resultType="com.webank.wedatasphere.linkis.cs.persistence.persistence.ContextKeyListenerPersistence">
        SELECT * FROM linkis_cs_context_map_listener WHERE
        <foreach collection="keyIds" item="keyid" index="i" open="key_id in (" close=")" separator=",">
            #{keyid}
        </foreach>
    </select>

</mapper>