<?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.tanpu.fund.mapper.generator.IndexesProfileMapper">
  <resultMap id="BaseResultMap" type="com.tanpu.fund.entity.generator.IndexesProfile">
    <!--@mbg.generated-->
    <!--@Table indexes_profile-->
    <id column="id" jdbcType="VARCHAR" property="id" />
    <result column="index_id" jdbcType="VARCHAR" property="indexId" />
    <result column="index_type_id" jdbcType="INTEGER" property="indexTypeId" />
    <result column="index_code" jdbcType="VARCHAR" property="indexCode" />
    <result column="index_name" jdbcType="VARCHAR" property="indexName" />
    <result column="index_short_name" jdbcType="VARCHAR" property="indexShortName" />
    <result column="index_area_flag" jdbcType="INTEGER" property="indexAreaFlag" />
    <result column="index_family_id" jdbcType="VARCHAR" property="indexFamilyId" />
    <result column="pricing_frequency" jdbcType="INTEGER" property="pricingFrequency" />
    <result column="inception_date" jdbcType="DATE" property="inceptionDate" />
    <result column="index_initial_value" jdbcType="DECIMAL" property="indexInitialValue" />
    <result column="base_currency" jdbcType="INTEGER" property="baseCurrency" />
    <result column="calculation_method" jdbcType="VARCHAR" property="calculationMethod" />
    <result column="weighting_scheme" jdbcType="VARCHAR" property="weightingScheme" />
    <result column="selection_scheme" jdbcType="VARCHAR" property="selectionScheme" />
    <result column="create_by" jdbcType="VARCHAR" property="createBy" />
    <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
    <result column="update_by" jdbcType="VARCHAR" property="updateBy" />
    <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
    <result column="delete_tag" jdbcType="INTEGER" property="deleteTag" />
  </resultMap>
  <sql id="Example_Where_Clause">
    <!--@mbg.generated-->
    <where>
      <foreach collection="oredCriteria" item="criteria" separator="or">
        <if test="criteria.valid">
          <trim prefix="(" prefixOverrides="and" suffix=")">
            <foreach collection="criteria.criteria" item="criterion">
              <choose>
                <when test="criterion.noValue">
                  and ${criterion.condition}
                </when>
                <when test="criterion.singleValue">
                  and ${criterion.condition} #{criterion.value}
                </when>
                <when test="criterion.betweenValue">
                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
                </when>
                <when test="criterion.listValue">
                  and ${criterion.condition}
                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
                    #{listItem}
                  </foreach>
                </when>
              </choose>
            </foreach>
          </trim>
        </if>
      </foreach>
    </where>
  </sql>
  <sql id="Update_By_Example_Where_Clause">
    <!--@mbg.generated-->
    <where>
      <foreach collection="example.oredCriteria" item="criteria" separator="or">
        <if test="criteria.valid">
          <trim prefix="(" prefixOverrides="and" suffix=")">
            <foreach collection="criteria.criteria" item="criterion">
              <choose>
                <when test="criterion.noValue">
                  and ${criterion.condition}
                </when>
                <when test="criterion.singleValue">
                  and ${criterion.condition} #{criterion.value}
                </when>
                <when test="criterion.betweenValue">
                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
                </when>
                <when test="criterion.listValue">
                  and ${criterion.condition}
                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
                    #{listItem}
                  </foreach>
                </when>
              </choose>
            </foreach>
          </trim>
        </if>
      </foreach>
    </where>
  </sql>
  <sql id="Base_Column_List">
    <!--@mbg.generated-->
    id, index_id, index_type_id, index_code, index_name, index_short_name, index_area_flag, 
    index_family_id, pricing_frequency, inception_date, index_initial_value, base_currency, 
    calculation_method, weighting_scheme, selection_scheme, create_by, create_time, update_by, 
    update_time, delete_tag
  </sql>
  <select id="selectByExample" parameterType="com.tanpu.fund.entity.generator.IndexesProfileExample" resultMap="BaseResultMap">
    <!--@mbg.generated-->
    select
    <if test="distinct">
      distinct
    </if>
    <include refid="Base_Column_List" />
    from indexes_profile
    <if test="_parameter != null">
      <include refid="Example_Where_Clause" />
    </if>
    <if test="orderByClause != null">
      order by ${orderByClause}
    </if>
  </select>
  <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
    <!--@mbg.generated-->
    select 
    <include refid="Base_Column_List" />
    from indexes_profile
    where id = #{id,jdbcType=VARCHAR}
  </select>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
    <!--@mbg.generated-->
    delete from indexes_profile
    where id = #{id,jdbcType=VARCHAR}
  </delete>
  <delete id="deleteByExample" parameterType="com.tanpu.fund.entity.generator.IndexesProfileExample">
    <!--@mbg.generated-->
    delete from indexes_profile
    <if test="_parameter != null">
      <include refid="Example_Where_Clause" />
    </if>
  </delete>
  <insert id="insert" parameterType="com.tanpu.fund.entity.generator.IndexesProfile">
    <!--@mbg.generated-->
    insert into indexes_profile (id, index_id, index_type_id, 
      index_code, index_name, index_short_name, 
      index_area_flag, index_family_id, pricing_frequency, 
      inception_date, index_initial_value, base_currency, 
      calculation_method, weighting_scheme, selection_scheme, 
      create_by, create_time, update_by, 
      update_time, delete_tag)
    values (#{id,jdbcType=VARCHAR}, #{indexId,jdbcType=VARCHAR}, #{indexTypeId,jdbcType=INTEGER}, 
      #{indexCode,jdbcType=VARCHAR}, #{indexName,jdbcType=VARCHAR}, #{indexShortName,jdbcType=VARCHAR}, 
      #{indexAreaFlag,jdbcType=INTEGER}, #{indexFamilyId,jdbcType=VARCHAR}, #{pricingFrequency,jdbcType=INTEGER}, 
      #{inceptionDate,jdbcType=DATE}, #{indexInitialValue,jdbcType=DECIMAL}, #{baseCurrency,jdbcType=INTEGER}, 
      #{calculationMethod,jdbcType=VARCHAR}, #{weightingScheme,jdbcType=VARCHAR}, #{selectionScheme,jdbcType=VARCHAR}, 
      #{createBy,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{updateBy,jdbcType=VARCHAR}, 
      #{updateTime,jdbcType=TIMESTAMP}, #{deleteTag,jdbcType=INTEGER})
  </insert>
  <insert id="insertSelective" parameterType="com.tanpu.fund.entity.generator.IndexesProfile">
    <!--@mbg.generated-->
    insert into indexes_profile
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="id != null">
        id,
      </if>
      <if test="indexId != null">
        index_id,
      </if>
      <if test="indexTypeId != null">
        index_type_id,
      </if>
      <if test="indexCode != null">
        index_code,
      </if>
      <if test="indexName != null">
        index_name,
      </if>
      <if test="indexShortName != null">
        index_short_name,
      </if>
      <if test="indexAreaFlag != null">
        index_area_flag,
      </if>
      <if test="indexFamilyId != null">
        index_family_id,
      </if>
      <if test="pricingFrequency != null">
        pricing_frequency,
      </if>
      <if test="inceptionDate != null">
        inception_date,
      </if>
      <if test="indexInitialValue != null">
        index_initial_value,
      </if>
      <if test="baseCurrency != null">
        base_currency,
      </if>
      <if test="calculationMethod != null">
        calculation_method,
      </if>
      <if test="weightingScheme != null">
        weighting_scheme,
      </if>
      <if test="selectionScheme != null">
        selection_scheme,
      </if>
      <if test="createBy != null">
        create_by,
      </if>
      <if test="createTime != null">
        create_time,
      </if>
      <if test="updateBy != null">
        update_by,
      </if>
      <if test="updateTime != null">
        update_time,
      </if>
      <if test="deleteTag != null">
        delete_tag,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides=",">
      <if test="id != null">
        #{id,jdbcType=VARCHAR},
      </if>
      <if test="indexId != null">
        #{indexId,jdbcType=VARCHAR},
      </if>
      <if test="indexTypeId != null">
        #{indexTypeId,jdbcType=INTEGER},
      </if>
      <if test="indexCode != null">
        #{indexCode,jdbcType=VARCHAR},
      </if>
      <if test="indexName != null">
        #{indexName,jdbcType=VARCHAR},
      </if>
      <if test="indexShortName != null">
        #{indexShortName,jdbcType=VARCHAR},
      </if>
      <if test="indexAreaFlag != null">
        #{indexAreaFlag,jdbcType=INTEGER},
      </if>
      <if test="indexFamilyId != null">
        #{indexFamilyId,jdbcType=VARCHAR},
      </if>
      <if test="pricingFrequency != null">
        #{pricingFrequency,jdbcType=INTEGER},
      </if>
      <if test="inceptionDate != null">
        #{inceptionDate,jdbcType=DATE},
      </if>
      <if test="indexInitialValue != null">
        #{indexInitialValue,jdbcType=DECIMAL},
      </if>
      <if test="baseCurrency != null">
        #{baseCurrency,jdbcType=INTEGER},
      </if>
      <if test="calculationMethod != null">
        #{calculationMethod,jdbcType=VARCHAR},
      </if>
      <if test="weightingScheme != null">
        #{weightingScheme,jdbcType=VARCHAR},
      </if>
      <if test="selectionScheme != null">
        #{selectionScheme,jdbcType=VARCHAR},
      </if>
      <if test="createBy != null">
        #{createBy,jdbcType=VARCHAR},
      </if>
      <if test="createTime != null">
        #{createTime,jdbcType=TIMESTAMP},
      </if>
      <if test="updateBy != null">
        #{updateBy,jdbcType=VARCHAR},
      </if>
      <if test="updateTime != null">
        #{updateTime,jdbcType=TIMESTAMP},
      </if>
      <if test="deleteTag != null">
        #{deleteTag,jdbcType=INTEGER},
      </if>
    </trim>
  </insert>
  <select id="countByExample" parameterType="com.tanpu.fund.entity.generator.IndexesProfileExample" resultType="java.lang.Long">
    <!--@mbg.generated-->
    select count(*) from indexes_profile
    <if test="_parameter != null">
      <include refid="Example_Where_Clause" />
    </if>
  </select>
  <update id="updateByExampleSelective" parameterType="map">
    <!--@mbg.generated-->
    update indexes_profile
    <set>
      <if test="record.id != null">
        id = #{record.id,jdbcType=VARCHAR},
      </if>
      <if test="record.indexId != null">
        index_id = #{record.indexId,jdbcType=VARCHAR},
      </if>
      <if test="record.indexTypeId != null">
        index_type_id = #{record.indexTypeId,jdbcType=INTEGER},
      </if>
      <if test="record.indexCode != null">
        index_code = #{record.indexCode,jdbcType=VARCHAR},
      </if>
      <if test="record.indexName != null">
        index_name = #{record.indexName,jdbcType=VARCHAR},
      </if>
      <if test="record.indexShortName != null">
        index_short_name = #{record.indexShortName,jdbcType=VARCHAR},
      </if>
      <if test="record.indexAreaFlag != null">
        index_area_flag = #{record.indexAreaFlag,jdbcType=INTEGER},
      </if>
      <if test="record.indexFamilyId != null">
        index_family_id = #{record.indexFamilyId,jdbcType=VARCHAR},
      </if>
      <if test="record.pricingFrequency != null">
        pricing_frequency = #{record.pricingFrequency,jdbcType=INTEGER},
      </if>
      <if test="record.inceptionDate != null">
        inception_date = #{record.inceptionDate,jdbcType=DATE},
      </if>
      <if test="record.indexInitialValue != null">
        index_initial_value = #{record.indexInitialValue,jdbcType=DECIMAL},
      </if>
      <if test="record.baseCurrency != null">
        base_currency = #{record.baseCurrency,jdbcType=INTEGER},
      </if>
      <if test="record.calculationMethod != null">
        calculation_method = #{record.calculationMethod,jdbcType=VARCHAR},
      </if>
      <if test="record.weightingScheme != null">
        weighting_scheme = #{record.weightingScheme,jdbcType=VARCHAR},
      </if>
      <if test="record.selectionScheme != null">
        selection_scheme = #{record.selectionScheme,jdbcType=VARCHAR},
      </if>
      <if test="record.createBy != null">
        create_by = #{record.createBy,jdbcType=VARCHAR},
      </if>
      <if test="record.createTime != null">
        create_time = #{record.createTime,jdbcType=TIMESTAMP},
      </if>
      <if test="record.updateBy != null">
        update_by = #{record.updateBy,jdbcType=VARCHAR},
      </if>
      <if test="record.updateTime != null">
        update_time = #{record.updateTime,jdbcType=TIMESTAMP},
      </if>
      <if test="record.deleteTag != null">
        delete_tag = #{record.deleteTag,jdbcType=INTEGER},
      </if>
    </set>
    <if test="_parameter != null">
      <include refid="Update_By_Example_Where_Clause" />
    </if>
  </update>
  <update id="updateByExample" parameterType="map">
    <!--@mbg.generated-->
    update indexes_profile
    set id = #{record.id,jdbcType=VARCHAR},
      index_id = #{record.indexId,jdbcType=VARCHAR},
      index_type_id = #{record.indexTypeId,jdbcType=INTEGER},
      index_code = #{record.indexCode,jdbcType=VARCHAR},
      index_name = #{record.indexName,jdbcType=VARCHAR},
      index_short_name = #{record.indexShortName,jdbcType=VARCHAR},
      index_area_flag = #{record.indexAreaFlag,jdbcType=INTEGER},
      index_family_id = #{record.indexFamilyId,jdbcType=VARCHAR},
      pricing_frequency = #{record.pricingFrequency,jdbcType=INTEGER},
      inception_date = #{record.inceptionDate,jdbcType=DATE},
      index_initial_value = #{record.indexInitialValue,jdbcType=DECIMAL},
      base_currency = #{record.baseCurrency,jdbcType=INTEGER},
      calculation_method = #{record.calculationMethod,jdbcType=VARCHAR},
      weighting_scheme = #{record.weightingScheme,jdbcType=VARCHAR},
      selection_scheme = #{record.selectionScheme,jdbcType=VARCHAR},
      create_by = #{record.createBy,jdbcType=VARCHAR},
      create_time = #{record.createTime,jdbcType=TIMESTAMP},
      update_by = #{record.updateBy,jdbcType=VARCHAR},
      update_time = #{record.updateTime,jdbcType=TIMESTAMP},
      delete_tag = #{record.deleteTag,jdbcType=INTEGER}
    <if test="_parameter != null">
      <include refid="Update_By_Example_Where_Clause" />
    </if>
  </update>
  <update id="updateByPrimaryKeySelective" parameterType="com.tanpu.fund.entity.generator.IndexesProfile">
    <!--@mbg.generated-->
    update indexes_profile
    <set>
      <if test="indexId != null">
        index_id = #{indexId,jdbcType=VARCHAR},
      </if>
      <if test="indexTypeId != null">
        index_type_id = #{indexTypeId,jdbcType=INTEGER},
      </if>
      <if test="indexCode != null">
        index_code = #{indexCode,jdbcType=VARCHAR},
      </if>
      <if test="indexName != null">
        index_name = #{indexName,jdbcType=VARCHAR},
      </if>
      <if test="indexShortName != null">
        index_short_name = #{indexShortName,jdbcType=VARCHAR},
      </if>
      <if test="indexAreaFlag != null">
        index_area_flag = #{indexAreaFlag,jdbcType=INTEGER},
      </if>
      <if test="indexFamilyId != null">
        index_family_id = #{indexFamilyId,jdbcType=VARCHAR},
      </if>
      <if test="pricingFrequency != null">
        pricing_frequency = #{pricingFrequency,jdbcType=INTEGER},
      </if>
      <if test="inceptionDate != null">
        inception_date = #{inceptionDate,jdbcType=DATE},
      </if>
      <if test="indexInitialValue != null">
        index_initial_value = #{indexInitialValue,jdbcType=DECIMAL},
      </if>
      <if test="baseCurrency != null">
        base_currency = #{baseCurrency,jdbcType=INTEGER},
      </if>
      <if test="calculationMethod != null">
        calculation_method = #{calculationMethod,jdbcType=VARCHAR},
      </if>
      <if test="weightingScheme != null">
        weighting_scheme = #{weightingScheme,jdbcType=VARCHAR},
      </if>
      <if test="selectionScheme != null">
        selection_scheme = #{selectionScheme,jdbcType=VARCHAR},
      </if>
      <if test="createBy != null">
        create_by = #{createBy,jdbcType=VARCHAR},
      </if>
      <if test="createTime != null">
        create_time = #{createTime,jdbcType=TIMESTAMP},
      </if>
      <if test="updateBy != null">
        update_by = #{updateBy,jdbcType=VARCHAR},
      </if>
      <if test="updateTime != null">
        update_time = #{updateTime,jdbcType=TIMESTAMP},
      </if>
      <if test="deleteTag != null">
        delete_tag = #{deleteTag,jdbcType=INTEGER},
      </if>
    </set>
    where id = #{id,jdbcType=VARCHAR}
  </update>
  <update id="updateByPrimaryKey" parameterType="com.tanpu.fund.entity.generator.IndexesProfile">
    <!--@mbg.generated-->
    update indexes_profile
    set index_id = #{indexId,jdbcType=VARCHAR},
      index_type_id = #{indexTypeId,jdbcType=INTEGER},
      index_code = #{indexCode,jdbcType=VARCHAR},
      index_name = #{indexName,jdbcType=VARCHAR},
      index_short_name = #{indexShortName,jdbcType=VARCHAR},
      index_area_flag = #{indexAreaFlag,jdbcType=INTEGER},
      index_family_id = #{indexFamilyId,jdbcType=VARCHAR},
      pricing_frequency = #{pricingFrequency,jdbcType=INTEGER},
      inception_date = #{inceptionDate,jdbcType=DATE},
      index_initial_value = #{indexInitialValue,jdbcType=DECIMAL},
      base_currency = #{baseCurrency,jdbcType=INTEGER},
      calculation_method = #{calculationMethod,jdbcType=VARCHAR},
      weighting_scheme = #{weightingScheme,jdbcType=VARCHAR},
      selection_scheme = #{selectionScheme,jdbcType=VARCHAR},
      create_by = #{createBy,jdbcType=VARCHAR},
      create_time = #{createTime,jdbcType=TIMESTAMP},
      update_by = #{updateBy,jdbcType=VARCHAR},
      update_time = #{updateTime,jdbcType=TIMESTAMP},
      delete_tag = #{deleteTag,jdbcType=INTEGER}
    where id = #{id,jdbcType=VARCHAR}
  </update>
  <update id="updateBatch" parameterType="java.util.List">
    <!--@mbg.generated-->
    update indexes_profile
    <trim prefix="set" suffixOverrides=",">
      <trim prefix="index_id = case" suffix="end,">
        <foreach collection="list" index="index" item="item">
          when id = #{item.id,jdbcType=VARCHAR} then #{item.indexId,jdbcType=VARCHAR}
        </foreach>
      </trim>
      <trim prefix="index_type_id = case" suffix="end,">
        <foreach collection="list" index="index" item="item">
          when id = #{item.id,jdbcType=VARCHAR} then #{item.indexTypeId,jdbcType=INTEGER}
        </foreach>
      </trim>
      <trim prefix="index_code = case" suffix="end,">
        <foreach collection="list" index="index" item="item">
          when id = #{item.id,jdbcType=VARCHAR} then #{item.indexCode,jdbcType=VARCHAR}
        </foreach>
      </trim>
      <trim prefix="index_name = case" suffix="end,">
        <foreach collection="list" index="index" item="item">
          when id = #{item.id,jdbcType=VARCHAR} then #{item.indexName,jdbcType=VARCHAR}
        </foreach>
      </trim>
      <trim prefix="index_short_name = case" suffix="end,">
        <foreach collection="list" index="index" item="item">
          when id = #{item.id,jdbcType=VARCHAR} then #{item.indexShortName,jdbcType=VARCHAR}
        </foreach>
      </trim>
      <trim prefix="index_area_flag = case" suffix="end,">
        <foreach collection="list" index="index" item="item">
          when id = #{item.id,jdbcType=VARCHAR} then #{item.indexAreaFlag,jdbcType=INTEGER}
        </foreach>
      </trim>
      <trim prefix="index_family_id = case" suffix="end,">
        <foreach collection="list" index="index" item="item">
          when id = #{item.id,jdbcType=VARCHAR} then #{item.indexFamilyId,jdbcType=VARCHAR}
        </foreach>
      </trim>
      <trim prefix="pricing_frequency = case" suffix="end,">
        <foreach collection="list" index="index" item="item">
          when id = #{item.id,jdbcType=VARCHAR} then #{item.pricingFrequency,jdbcType=INTEGER}
        </foreach>
      </trim>
      <trim prefix="inception_date = case" suffix="end,">
        <foreach collection="list" index="index" item="item">
          when id = #{item.id,jdbcType=VARCHAR} then #{item.inceptionDate,jdbcType=DATE}
        </foreach>
      </trim>
      <trim prefix="index_initial_value = case" suffix="end,">
        <foreach collection="list" index="index" item="item">
          when id = #{item.id,jdbcType=VARCHAR} then #{item.indexInitialValue,jdbcType=DECIMAL}
        </foreach>
      </trim>
      <trim prefix="base_currency = case" suffix="end,">
        <foreach collection="list" index="index" item="item">
          when id = #{item.id,jdbcType=VARCHAR} then #{item.baseCurrency,jdbcType=INTEGER}
        </foreach>
      </trim>
      <trim prefix="calculation_method = case" suffix="end,">
        <foreach collection="list" index="index" item="item">
          when id = #{item.id,jdbcType=VARCHAR} then #{item.calculationMethod,jdbcType=VARCHAR}
        </foreach>
      </trim>
      <trim prefix="weighting_scheme = case" suffix="end,">
        <foreach collection="list" index="index" item="item">
          when id = #{item.id,jdbcType=VARCHAR} then #{item.weightingScheme,jdbcType=VARCHAR}
        </foreach>
      </trim>
      <trim prefix="selection_scheme = case" suffix="end,">
        <foreach collection="list" index="index" item="item">
          when id = #{item.id,jdbcType=VARCHAR} then #{item.selectionScheme,jdbcType=VARCHAR}
        </foreach>
      </trim>
      <trim prefix="create_by = case" suffix="end,">
        <foreach collection="list" index="index" item="item">
          when id = #{item.id,jdbcType=VARCHAR} then #{item.createBy,jdbcType=VARCHAR}
        </foreach>
      </trim>
      <trim prefix="create_time = case" suffix="end,">
        <foreach collection="list" index="index" item="item">
          when id = #{item.id,jdbcType=VARCHAR} then #{item.createTime,jdbcType=TIMESTAMP}
        </foreach>
      </trim>
      <trim prefix="update_by = case" suffix="end,">
        <foreach collection="list" index="index" item="item">
          when id = #{item.id,jdbcType=VARCHAR} then #{item.updateBy,jdbcType=VARCHAR}
        </foreach>
      </trim>
      <trim prefix="update_time = case" suffix="end,">
        <foreach collection="list" index="index" item="item">
          when id = #{item.id,jdbcType=VARCHAR} then #{item.updateTime,jdbcType=TIMESTAMP}
        </foreach>
      </trim>
      <trim prefix="delete_tag = case" suffix="end,">
        <foreach collection="list" index="index" item="item">
          when id = #{item.id,jdbcType=VARCHAR} then #{item.deleteTag,jdbcType=INTEGER}
        </foreach>
      </trim>
    </trim>
    where id in
    <foreach close=")" collection="list" item="item" open="(" separator=", ">
      #{item.id,jdbcType=VARCHAR}
    </foreach>
  </update>
  <insert id="batchInsert" parameterType="map">
    <!--@mbg.generated-->
    insert into indexes_profile
    (id, index_id, index_type_id, index_code, index_name, index_short_name, index_area_flag, 
      index_family_id, pricing_frequency, inception_date, index_initial_value, base_currency, 
      calculation_method, weighting_scheme, selection_scheme, create_by, create_time, 
      update_by, update_time, delete_tag)
    values
    <foreach collection="list" item="item" separator=",">
      (#{item.id,jdbcType=VARCHAR}, #{item.indexId,jdbcType=VARCHAR}, #{item.indexTypeId,jdbcType=INTEGER}, 
        #{item.indexCode,jdbcType=VARCHAR}, #{item.indexName,jdbcType=VARCHAR}, #{item.indexShortName,jdbcType=VARCHAR}, 
        #{item.indexAreaFlag,jdbcType=INTEGER}, #{item.indexFamilyId,jdbcType=VARCHAR}, 
        #{item.pricingFrequency,jdbcType=INTEGER}, #{item.inceptionDate,jdbcType=DATE}, 
        #{item.indexInitialValue,jdbcType=DECIMAL}, #{item.baseCurrency,jdbcType=INTEGER}, 
        #{item.calculationMethod,jdbcType=VARCHAR}, #{item.weightingScheme,jdbcType=VARCHAR}, 
        #{item.selectionScheme,jdbcType=VARCHAR}, #{item.createBy,jdbcType=VARCHAR}, #{item.createTime,jdbcType=TIMESTAMP}, 
        #{item.updateBy,jdbcType=VARCHAR}, #{item.updateTime,jdbcType=TIMESTAMP}, #{item.deleteTag,jdbcType=INTEGER}
        )
    </foreach>
  </insert>
  <insert id="insertOrUpdate" parameterType="com.tanpu.fund.entity.generator.IndexesProfile">
    <!--@mbg.generated-->
    insert into indexes_profile
    (id, index_id, index_type_id, index_code, index_name, index_short_name, index_area_flag, 
      index_family_id, pricing_frequency, inception_date, index_initial_value, base_currency, 
      calculation_method, weighting_scheme, selection_scheme, create_by, create_time, 
      update_by, update_time, delete_tag)
    values
    (#{id,jdbcType=VARCHAR}, #{indexId,jdbcType=VARCHAR}, #{indexTypeId,jdbcType=INTEGER}, 
      #{indexCode,jdbcType=VARCHAR}, #{indexName,jdbcType=VARCHAR}, #{indexShortName,jdbcType=VARCHAR}, 
      #{indexAreaFlag,jdbcType=INTEGER}, #{indexFamilyId,jdbcType=VARCHAR}, #{pricingFrequency,jdbcType=INTEGER}, 
      #{inceptionDate,jdbcType=DATE}, #{indexInitialValue,jdbcType=DECIMAL}, #{baseCurrency,jdbcType=INTEGER}, 
      #{calculationMethod,jdbcType=VARCHAR}, #{weightingScheme,jdbcType=VARCHAR}, #{selectionScheme,jdbcType=VARCHAR}, 
      #{createBy,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{updateBy,jdbcType=VARCHAR}, 
      #{updateTime,jdbcType=TIMESTAMP}, #{deleteTag,jdbcType=INTEGER})
    on duplicate key update 
    id = #{id,jdbcType=VARCHAR}, 
    index_id = #{indexId,jdbcType=VARCHAR}, 
    index_type_id = #{indexTypeId,jdbcType=INTEGER}, 
    index_code = #{indexCode,jdbcType=VARCHAR}, 
    index_name = #{indexName,jdbcType=VARCHAR}, 
    index_short_name = #{indexShortName,jdbcType=VARCHAR}, 
    index_area_flag = #{indexAreaFlag,jdbcType=INTEGER}, 
    index_family_id = #{indexFamilyId,jdbcType=VARCHAR}, 
    pricing_frequency = #{pricingFrequency,jdbcType=INTEGER}, 
    inception_date = #{inceptionDate,jdbcType=DATE}, 
    index_initial_value = #{indexInitialValue,jdbcType=DECIMAL}, 
    base_currency = #{baseCurrency,jdbcType=INTEGER}, 
    calculation_method = #{calculationMethod,jdbcType=VARCHAR}, 
    weighting_scheme = #{weightingScheme,jdbcType=VARCHAR}, 
    selection_scheme = #{selectionScheme,jdbcType=VARCHAR}, 
    create_by = #{createBy,jdbcType=VARCHAR}, 
    create_time = #{createTime,jdbcType=TIMESTAMP}, 
    update_by = #{updateBy,jdbcType=VARCHAR}, 
    update_time = #{updateTime,jdbcType=TIMESTAMP}, 
    delete_tag = #{deleteTag,jdbcType=INTEGER}
  </insert>
  <insert id="insertOrUpdateSelective" parameterType="com.tanpu.fund.entity.generator.IndexesProfile">
    <!--@mbg.generated-->
    insert into indexes_profile
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="id != null">
        id,
      </if>
      <if test="indexId != null">
        index_id,
      </if>
      <if test="indexTypeId != null">
        index_type_id,
      </if>
      <if test="indexCode != null">
        index_code,
      </if>
      <if test="indexName != null">
        index_name,
      </if>
      <if test="indexShortName != null">
        index_short_name,
      </if>
      <if test="indexAreaFlag != null">
        index_area_flag,
      </if>
      <if test="indexFamilyId != null">
        index_family_id,
      </if>
      <if test="pricingFrequency != null">
        pricing_frequency,
      </if>
      <if test="inceptionDate != null">
        inception_date,
      </if>
      <if test="indexInitialValue != null">
        index_initial_value,
      </if>
      <if test="baseCurrency != null">
        base_currency,
      </if>
      <if test="calculationMethod != null">
        calculation_method,
      </if>
      <if test="weightingScheme != null">
        weighting_scheme,
      </if>
      <if test="selectionScheme != null">
        selection_scheme,
      </if>
      <if test="createBy != null">
        create_by,
      </if>
      <if test="createTime != null">
        create_time,
      </if>
      <if test="updateBy != null">
        update_by,
      </if>
      <if test="updateTime != null">
        update_time,
      </if>
      <if test="deleteTag != null">
        delete_tag,
      </if>
    </trim>
    values
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="id != null">
        #{id,jdbcType=VARCHAR},
      </if>
      <if test="indexId != null">
        #{indexId,jdbcType=VARCHAR},
      </if>
      <if test="indexTypeId != null">
        #{indexTypeId,jdbcType=INTEGER},
      </if>
      <if test="indexCode != null">
        #{indexCode,jdbcType=VARCHAR},
      </if>
      <if test="indexName != null">
        #{indexName,jdbcType=VARCHAR},
      </if>
      <if test="indexShortName != null">
        #{indexShortName,jdbcType=VARCHAR},
      </if>
      <if test="indexAreaFlag != null">
        #{indexAreaFlag,jdbcType=INTEGER},
      </if>
      <if test="indexFamilyId != null">
        #{indexFamilyId,jdbcType=VARCHAR},
      </if>
      <if test="pricingFrequency != null">
        #{pricingFrequency,jdbcType=INTEGER},
      </if>
      <if test="inceptionDate != null">
        #{inceptionDate,jdbcType=DATE},
      </if>
      <if test="indexInitialValue != null">
        #{indexInitialValue,jdbcType=DECIMAL},
      </if>
      <if test="baseCurrency != null">
        #{baseCurrency,jdbcType=INTEGER},
      </if>
      <if test="calculationMethod != null">
        #{calculationMethod,jdbcType=VARCHAR},
      </if>
      <if test="weightingScheme != null">
        #{weightingScheme,jdbcType=VARCHAR},
      </if>
      <if test="selectionScheme != null">
        #{selectionScheme,jdbcType=VARCHAR},
      </if>
      <if test="createBy != null">
        #{createBy,jdbcType=VARCHAR},
      </if>
      <if test="createTime != null">
        #{createTime,jdbcType=TIMESTAMP},
      </if>
      <if test="updateBy != null">
        #{updateBy,jdbcType=VARCHAR},
      </if>
      <if test="updateTime != null">
        #{updateTime,jdbcType=TIMESTAMP},
      </if>
      <if test="deleteTag != null">
        #{deleteTag,jdbcType=INTEGER},
      </if>
    </trim>
    on duplicate key update 
    <trim suffixOverrides=",">
      <if test="id != null">
        id = #{id,jdbcType=VARCHAR},
      </if>
      <if test="indexId != null">
        index_id = #{indexId,jdbcType=VARCHAR},
      </if>
      <if test="indexTypeId != null">
        index_type_id = #{indexTypeId,jdbcType=INTEGER},
      </if>
      <if test="indexCode != null">
        index_code = #{indexCode,jdbcType=VARCHAR},
      </if>
      <if test="indexName != null">
        index_name = #{indexName,jdbcType=VARCHAR},
      </if>
      <if test="indexShortName != null">
        index_short_name = #{indexShortName,jdbcType=VARCHAR},
      </if>
      <if test="indexAreaFlag != null">
        index_area_flag = #{indexAreaFlag,jdbcType=INTEGER},
      </if>
      <if test="indexFamilyId != null">
        index_family_id = #{indexFamilyId,jdbcType=VARCHAR},
      </if>
      <if test="pricingFrequency != null">
        pricing_frequency = #{pricingFrequency,jdbcType=INTEGER},
      </if>
      <if test="inceptionDate != null">
        inception_date = #{inceptionDate,jdbcType=DATE},
      </if>
      <if test="indexInitialValue != null">
        index_initial_value = #{indexInitialValue,jdbcType=DECIMAL},
      </if>
      <if test="baseCurrency != null">
        base_currency = #{baseCurrency,jdbcType=INTEGER},
      </if>
      <if test="calculationMethod != null">
        calculation_method = #{calculationMethod,jdbcType=VARCHAR},
      </if>
      <if test="weightingScheme != null">
        weighting_scheme = #{weightingScheme,jdbcType=VARCHAR},
      </if>
      <if test="selectionScheme != null">
        selection_scheme = #{selectionScheme,jdbcType=VARCHAR},
      </if>
      <if test="createBy != null">
        create_by = #{createBy,jdbcType=VARCHAR},
      </if>
      <if test="createTime != null">
        create_time = #{createTime,jdbcType=TIMESTAMP},
      </if>
      <if test="updateBy != null">
        update_by = #{updateBy,jdbcType=VARCHAR},
      </if>
      <if test="updateTime != null">
        update_time = #{updateTime,jdbcType=TIMESTAMP},
      </if>
      <if test="deleteTag != null">
        delete_tag = #{deleteTag,jdbcType=INTEGER},
      </if>
    </trim>
  </insert>
</mapper>