MyBatis的discriminator鉴别器根据字段值实现Java中的多态

 

 

    <select id="getModelById" resultMap="modelTypeMap">
        SELECT id as id,
        model_id AS modelId,
        model_type AS modelType,
        created_by AS createdBy,
        model_name AS modelName,
        model_def AS modelDef,
        start_date AS startDate,
        end_date AS endDate,
        FROM
        <include refid="user_defined_4a_model"/>
        WHERE model_id=#{modelId}
    </select>

    <resultMap id="modelTypeMap" type="com.javartisan.BaseModel">
        <discriminator javaType="java.lang.Integer" column="modelType">
            <case value="1" resultType="com.javartisan.Model1"/>
            <case value="2" resultType="com.javartisan.Model2"/>
        </discriminator>
    </resultMap>

  

posted @ 2019-06-24 21:55  bf378  阅读(2170)  评论(0编辑  收藏  举报