BusExchangeMapper.xml 11.6 KB
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.sunyo.wlpt.message.bus.service.mapper.BusExchangeMapper">
    <cache-ref namespace="com.sunyo.wlpt.message.bus.service.mapper.VirtualHostMapper"/>
    <resultMap id="BaseResultMap" type="com.sunyo.wlpt.message.bus.service.domain.BusExchange">
        <!--@mbg.generated-->
        <!--@Table bus_exchange-->
        <id column="id" jdbcType="VARCHAR" property="id"/>
        <result column="exchange_name" jdbcType="VARCHAR" property="exchangeName"/>
        <result column="exchange_name" jdbcType="VARCHAR" property="aliasName"/>
        <result column="virtual_host_id" jdbcType="VARCHAR" property="virtualHostId"/>
        <result column="exchange_type" jdbcType="VARCHAR" property="exchangeType"/>
        <result column="durability" jdbcType="BOOLEAN" property="durability"/>
        <result column="auto_delete" jdbcType="BOOLEAN" property="autoDelete"/>
        <result column="internal" jdbcType="BOOLEAN" property="internal"/>
        <result column="arguments" jdbcType="VARCHAR" property="arguments"/>
        <result column="description" jdbcType="VARCHAR" property="description"/>
        <result column="gmt_create" jdbcType="TIMESTAMP" property="gmtCreate"/>
        <result column="gmt_modified" jdbcType="TIMESTAMP" property="gmtModified"/>
    </resultMap>

    <!-- 该Mapper映射关系的作用,是交换机与虚拟主机的1:1的关系映射 -->
    <resultMap id="ExchangeAndHostMap" extends="BaseResultMap"
               type="com.sunyo.wlpt.message.bus.service.domain.BusExchange">
        <association property="virtualHost" javaType="com.sunyo.wlpt.message.bus.service.domain.VirtualHost">
            <id column="id" property="id"/>
            <result column="virtual_host_name" property="virtualHostName"/>
        </association>
    </resultMap>

    <sql id="Base_Column_List">
        <!--@mbg.generated-->
        id, exchange_name, virtual_host_id, exchange_type, durability, auto_delete, internal,
        arguments, description, gmt_create, gmt_modified
    </sql>

    <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
        <!--@mbg.generated-->
        select
        <include refid="Base_Column_List"/>
        from bus_exchange
        where id = #{id,jdbcType=VARCHAR}
    </select>

    <select id="selectByExchangeName" parameterType="java.lang.String" resultMap="BaseResultMap">
        <!--@mbg.generated-->
        select
        <include refid="Base_Column_List"/>
        from bus_exchange
        where exchange_name = #{exchangeName,jdbcType=VARCHAR}
    </select>

    <!-- 获取交换机列表,根据虚拟主机id -->
    <select id="selectByVirtualHostId" parameterType="java.lang.String" resultMap="BaseResultMap">
        <!--@mbg.generated-->
        select
        <include refid="Base_Column_List"/>
        from bus_exchange
        where virtual_host_id = #{virtualHostId,jdbcType=VARCHAR}
    </select>

    <!-- 获取交换机列表 -->
    <select id="selectBusExchangeList" parameterType="com.sunyo.wlpt.message.bus.service.domain.BusExchange"
            resultMap="ExchangeAndHostMap">
        select e.id,
               e.exchange_name,
               e.virtual_host_id,
               e.exchange_type,
               e.durability,
               e.auto_delete,
               e.internal,
               e.arguments,
               e.description,
               e.gmt_create,
               e.gmt_modified,
               v.virtual_host_name
        from bus_exchange as e,
             virtual_host as v
        <where>
            <!-- 所属虚拟主机ID -->
            <if test="virtualHostId != null and virtualHostId != ''">
                e.virtual_host_id = #{virtualHostId,jdbcType=VARCHAR}
            </if>
            <!-- 交换机名称 -->
            <if test="exchangeName != null and exchangeName != ''">
                and e.exchange_name = #{exchangeName,jdbcType=VARCHAR}
            </if>
            and e.virtual_host_id = v.id
        </where>
    </select>
    <!-- 校验交换机是否已存在 -->
    <select id="validateBusExchange" parameterType="com.sunyo.wlpt.message.bus.service.domain.BusExchange"
            resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List"/>
        from bus_exchange
        <where>
            <!-- 交换机名称 -->
            <if test="exchangeName != null and exchangeName != ''">
                exchange_name = #{exchangeName,jdbcType=VARCHAR}
            </if>
        </where>
    </select>
    <!-- 仅,查询交换机列表 -->
    <select id="getExchangeList" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List"/>
        from bus_exchange
        <where>
            <!-- 所属虚拟主机ID -->
            <if test="virtualHostId != null and virtualHostId != ''">
                virtual_host_id = #{virtualHostId,jdbcType=VARCHAR}
            </if>
        </where>
    </select>

    <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
        <!--@mbg.generated-->
        delete
        from bus_exchange
        where id = #{id,jdbcType=VARCHAR}
    </delete>

    <delete id="deleteByVirtualHostId" parameterType="java.lang.String">
        <!--@mbg.generated-->
        delete
        from bus_exchange
        where virtual_host_id = #{virtualHostId,jdbcType=VARCHAR}
    </delete>

    <insert id="insert" parameterType="com.sunyo.wlpt.message.bus.service.domain.BusExchange">
        <!--@mbg.generated-->
        insert into bus_exchange (id, exchange_name, virtual_host_id,
                                  exchange_type, durability, auto_delete,
                                  internal, arguments, description,
                                  gmt_create, gmt_modified)
        values (#{id,jdbcType=VARCHAR}, #{exchangeName,jdbcType=VARCHAR}, #{virtualHostId,jdbcType=VARCHAR},
                #{exchangeType,jdbcType=VARCHAR}, #{durability,jdbcType=BOOLEAN}, #{autoDelete,jdbcType=BOOLEAN},
                #{internal,jdbcType=BOOLEAN}, #{arguments,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR},
                #{gmtCreate,jdbcType=TIMESTAMP}, #{gmtModified,jdbcType=TIMESTAMP})
    </insert>
    <insert id="insertSelective" parameterType="com.sunyo.wlpt.message.bus.service.domain.BusExchange">
        <!--@mbg.generated-->
        insert into bus_exchange
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null">
                id,
            </if>
            <if test="exchangeName != null">
                exchange_name,
            </if>
            <if test="virtualHostId != null">
                virtual_host_id,
            </if>
            <if test="exchangeType != null">
                exchange_type,
            </if>
            <if test="durability != null">
                durability,
            </if>
            <if test="autoDelete != null">
                auto_delete,
            </if>
            <if test="internal != null">
                internal,
            </if>
            <if test="arguments != null">
                arguments,
            </if>
            <if test="description != null">
                description,
            </if>
            <if test="gmtCreate != null">
                gmt_create,
            </if>
            <if test="gmtModified != null">
                gmt_modified,
            </if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="id != null">
                #{id,jdbcType=VARCHAR},
            </if>
            <if test="exchangeName != null">
                #{exchangeName,jdbcType=VARCHAR},
            </if>
            <if test="virtualHostId != null">
                #{virtualHostId,jdbcType=VARCHAR},
            </if>
            <if test="exchangeType != null">
                #{exchangeType,jdbcType=VARCHAR},
            </if>
            <if test="durability != null">
                #{durability,jdbcType=BOOLEAN},
            </if>
            <if test="autoDelete != null">
                #{autoDelete,jdbcType=BOOLEAN},
            </if>
            <if test="internal != null">
                #{internal,jdbcType=BOOLEAN},
            </if>
            <if test="arguments != null">
                #{arguments,jdbcType=VARCHAR},
            </if>
            <if test="description != null">
                #{description,jdbcType=VARCHAR},
            </if>
            <if test="gmtCreate != null">
                #{gmtCreate,jdbcType=TIMESTAMP},
            </if>
            <if test="gmtModified != null">
                #{gmtModified,jdbcType=TIMESTAMP},
            </if>
        </trim>
    </insert>
    <update id="updateByPrimaryKeySelective" parameterType="com.sunyo.wlpt.message.bus.service.domain.BusExchange">
        <!--@mbg.generated-->
        update bus_exchange
        <set>
            <if test="exchangeName != null">
                exchange_name = #{exchangeName,jdbcType=VARCHAR},
            </if>
            <if test="virtualHostId != null">
                virtual_host_id = #{virtualHostId,jdbcType=VARCHAR},
            </if>
            <if test="exchangeType != null">
                exchange_type = #{exchangeType,jdbcType=VARCHAR},
            </if>
            <if test="durability != null">
                durability = #{durability,jdbcType=BOOLEAN},
            </if>
            <if test="autoDelete != null">
                auto_delete = #{autoDelete,jdbcType=BOOLEAN},
            </if>
            <if test="internal != null">
                internal = #{internal,jdbcType=BOOLEAN},
            </if>
            <if test="arguments != null">
                arguments = #{arguments,jdbcType=VARCHAR},
            </if>
            <if test="description != null">
                description = #{description,jdbcType=VARCHAR},
            </if>
            <if test="gmtCreate != null">
                gmt_create = #{gmtCreate,jdbcType=TIMESTAMP},
            </if>
            <if test="gmtModified != null">
                gmt_modified = #{gmtModified,jdbcType=TIMESTAMP},
            </if>
        </set>
        where id = #{id,jdbcType=VARCHAR}
    </update>
    <update id="updateByPrimaryKey" parameterType="com.sunyo.wlpt.message.bus.service.domain.BusExchange">
        <!--@mbg.generated-->
        update bus_exchange
        set exchange_name   = #{exchangeName,jdbcType=VARCHAR},
            virtual_host_id = #{virtualHostId,jdbcType=VARCHAR},
            exchange_type   = #{exchangeType,jdbcType=VARCHAR},
            durability      = #{durability,jdbcType=BOOLEAN},
            auto_delete     = #{autoDelete,jdbcType=BOOLEAN},
            internal        = #{internal,jdbcType=BOOLEAN},
            arguments       = #{arguments,jdbcType=VARCHAR},
            description     = #{description,jdbcType=VARCHAR},
            gmt_create      = #{gmtCreate,jdbcType=TIMESTAMP},
            gmt_modified    = #{gmtModified,jdbcType=TIMESTAMP}
        where id = #{id,jdbcType=VARCHAR}
    </update>

    <select id="selectExchangeExist" parameterType="com.sunyo.wlpt.message.bus.service.domain.BusExchange"
            resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List"/>
        from bus_exchange
        <where>
            <!-- 交换机名称 -->
            <if test="exchangeName != null and exchangeName != ''">
                exchange_name = #{exchangeName,jdbcType=VARCHAR}
            </if>
            <!-- 所属虚拟主机ID -->
            <if test="virtualHostId != null and virtualHostId != ''">
                and virtual_host_id = #{virtualHostId,jdbcType=VARCHAR}
            </if>
        </where>
    </select>
</mapper>