<?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.FundInfoPerformanceMapper">
  <resultMap id="BaseResultMap" type="com.tanpu.fund.entity.generator.FundInfoPerformance">
    <!--@mbg.generated-->
    <!--@Table fund_info_performance-->
    <result column="id" jdbcType="VARCHAR" property="id" />
    <result column="fund_name" jdbcType="VARCHAR" property="fundName" />
    <result column="fund_short_name" jdbcType="VARCHAR" property="fundShortName" />
    <result column="risk_level" jdbcType="INTEGER" property="riskLevel" />
    <result column="trust_id" jdbcType="VARCHAR" property="trustId" />
    <result column="net_nav" jdbcType="DECIMAL" property="netNav" />
    <result column="cumulative_nav" jdbcType="DECIMAL" property="cumulativeNav" />
    <result column="end_date" jdbcType="DATE" property="endDate" />
    <result column="price_date" jdbcType="DATE" property="priceDate" />
    <result column="strategy" jdbcType="INTEGER" property="strategy" />
    <result column="substrategy" jdbcType="INTEGER" property="substrategy" />
    <result column="ret_1w" jdbcType="DECIMAL" property="ret1w" />
    <result column="ret_1m" jdbcType="DECIMAL" property="ret1m" />
    <result column="ret_6m" jdbcType="DECIMAL" property="ret6m" />
    <result column="ret_1y" jdbcType="DECIMAL" property="ret1y" />
    <result column="ret_incep" jdbcType="DECIMAL" property="retIncep" />
    <result column="sharperatio_incep" jdbcType="DECIMAL" property="sharperatioIncep" />
    <result column="sharperatio_1y" jdbcType="DECIMAL" property="sharperatio1y" />
    <result column="sharperatio_2y" jdbcType="DECIMAL" property="sharperatio2y" />
    <result column="sharperatio_3y" jdbcType="DECIMAL" property="sharperatio3y" />
    <result column="sharperatio_4y" jdbcType="DECIMAL" property="sharperatio4y" />
    <result column="sharperatio_5y" jdbcType="DECIMAL" property="sharperatio5y" />
    <result column="stddev_1y" jdbcType="DECIMAL" property="stddev1y" />
    <result column="stddev_2y" jdbcType="DECIMAL" property="stddev2y" />
    <result column="stddev_3y" jdbcType="DECIMAL" property="stddev3y" />
    <result column="stddev_4y" jdbcType="DECIMAL" property="stddev4y" />
    <result column="stddev_5y" jdbcType="DECIMAL" property="stddev5y" />
    <result column="stddev_incep" jdbcType="DECIMAL" property="stddevIncep" />
    <result column="maxdrawdown_1y" jdbcType="DECIMAL" property="maxdrawdown1y" />
    <result column="maxdrawdown_2y" jdbcType="DECIMAL" property="maxdrawdown2y" />
    <result column="maxdrawdown_3y" jdbcType="DECIMAL" property="maxdrawdown3y" />
    <result column="maxdrawdown_4y" jdbcType="DECIMAL" property="maxdrawdown4y" />
    <result column="maxdrawdown_5y" jdbcType="DECIMAL" property="maxdrawdown5y" />
    <result column="maxdrawdown_incep" jdbcType="DECIMAL" property="maxdrawdownIncep" />
  </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, fund_name, fund_short_name, risk_level, trust_id, net_nav, cumulative_nav, end_date, 
    price_date, strategy, substrategy, ret_1w, ret_1m, ret_6m, ret_1y, ret_incep, sharperatio_incep, 
    sharperatio_1y, sharperatio_2y, sharperatio_3y, sharperatio_4y, sharperatio_5y, stddev_1y, 
    stddev_2y, stddev_3y, stddev_4y, stddev_5y, stddev_incep, maxdrawdown_1y, maxdrawdown_2y, 
    maxdrawdown_3y, maxdrawdown_4y, maxdrawdown_5y, maxdrawdown_incep
  </sql>
  <select id="selectByExample" parameterType="com.tanpu.fund.entity.generator.FundInfoPerformanceExample" resultMap="BaseResultMap">
    <!--@mbg.generated-->
    select
    <if test="distinct">
      distinct
    </if>
    <include refid="Base_Column_List" />
    from fund_info_performance
    <if test="_parameter != null">
      <include refid="Example_Where_Clause" />
    </if>
    <if test="orderByClause != null">
      order by ${orderByClause}
    </if>
  </select>
  <delete id="deleteByExample" parameterType="com.tanpu.fund.entity.generator.FundInfoPerformanceExample">
    <!--@mbg.generated-->
    delete from fund_info_performance
    <if test="_parameter != null">
      <include refid="Example_Where_Clause" />
    </if>
  </delete>
  <insert id="insert" parameterType="com.tanpu.fund.entity.generator.FundInfoPerformance">
    <!--@mbg.generated-->
    insert into fund_info_performance (id, fund_name, fund_short_name, 
      risk_level, trust_id, net_nav, 
      cumulative_nav, end_date, price_date, 
      strategy, substrategy, ret_1w, 
      ret_1m, ret_6m, ret_1y, 
      ret_incep, sharperatio_incep, sharperatio_1y, 
      sharperatio_2y, sharperatio_3y, sharperatio_4y, 
      sharperatio_5y, stddev_1y, stddev_2y, 
      stddev_3y, stddev_4y, stddev_5y, 
      stddev_incep, maxdrawdown_1y, maxdrawdown_2y, 
      maxdrawdown_3y, maxdrawdown_4y, maxdrawdown_5y, 
      maxdrawdown_incep)
    values (#{id,jdbcType=VARCHAR}, #{fundName,jdbcType=VARCHAR}, #{fundShortName,jdbcType=VARCHAR}, 
      #{riskLevel,jdbcType=INTEGER}, #{trustId,jdbcType=VARCHAR}, #{netNav,jdbcType=DECIMAL}, 
      #{cumulativeNav,jdbcType=DECIMAL}, #{endDate,jdbcType=DATE}, #{priceDate,jdbcType=DATE}, 
      #{strategy,jdbcType=INTEGER}, #{substrategy,jdbcType=INTEGER}, #{ret1w,jdbcType=DECIMAL}, 
      #{ret1m,jdbcType=DECIMAL}, #{ret6m,jdbcType=DECIMAL}, #{ret1y,jdbcType=DECIMAL}, 
      #{retIncep,jdbcType=DECIMAL}, #{sharperatioIncep,jdbcType=DECIMAL}, #{sharperatio1y,jdbcType=DECIMAL}, 
      #{sharperatio2y,jdbcType=DECIMAL}, #{sharperatio3y,jdbcType=DECIMAL}, #{sharperatio4y,jdbcType=DECIMAL}, 
      #{sharperatio5y,jdbcType=DECIMAL}, #{stddev1y,jdbcType=DECIMAL}, #{stddev2y,jdbcType=DECIMAL}, 
      #{stddev3y,jdbcType=DECIMAL}, #{stddev4y,jdbcType=DECIMAL}, #{stddev5y,jdbcType=DECIMAL}, 
      #{stddevIncep,jdbcType=DECIMAL}, #{maxdrawdown1y,jdbcType=DECIMAL}, #{maxdrawdown2y,jdbcType=DECIMAL}, 
      #{maxdrawdown3y,jdbcType=DECIMAL}, #{maxdrawdown4y,jdbcType=DECIMAL}, #{maxdrawdown5y,jdbcType=DECIMAL}, 
      #{maxdrawdownIncep,jdbcType=DECIMAL})
  </insert>
  <insert id="insertSelective" parameterType="com.tanpu.fund.entity.generator.FundInfoPerformance">
    <!--@mbg.generated-->
    insert into fund_info_performance
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="id != null">
        id,
      </if>
      <if test="fundName != null">
        fund_name,
      </if>
      <if test="fundShortName != null">
        fund_short_name,
      </if>
      <if test="riskLevel != null">
        risk_level,
      </if>
      <if test="trustId != null">
        trust_id,
      </if>
      <if test="netNav != null">
        net_nav,
      </if>
      <if test="cumulativeNav != null">
        cumulative_nav,
      </if>
      <if test="endDate != null">
        end_date,
      </if>
      <if test="priceDate != null">
        price_date,
      </if>
      <if test="strategy != null">
        strategy,
      </if>
      <if test="substrategy != null">
        substrategy,
      </if>
      <if test="ret1w != null">
        ret_1w,
      </if>
      <if test="ret1m != null">
        ret_1m,
      </if>
      <if test="ret6m != null">
        ret_6m,
      </if>
      <if test="ret1y != null">
        ret_1y,
      </if>
      <if test="retIncep != null">
        ret_incep,
      </if>
      <if test="sharperatioIncep != null">
        sharperatio_incep,
      </if>
      <if test="sharperatio1y != null">
        sharperatio_1y,
      </if>
      <if test="sharperatio2y != null">
        sharperatio_2y,
      </if>
      <if test="sharperatio3y != null">
        sharperatio_3y,
      </if>
      <if test="sharperatio4y != null">
        sharperatio_4y,
      </if>
      <if test="sharperatio5y != null">
        sharperatio_5y,
      </if>
      <if test="stddev1y != null">
        stddev_1y,
      </if>
      <if test="stddev2y != null">
        stddev_2y,
      </if>
      <if test="stddev3y != null">
        stddev_3y,
      </if>
      <if test="stddev4y != null">
        stddev_4y,
      </if>
      <if test="stddev5y != null">
        stddev_5y,
      </if>
      <if test="stddevIncep != null">
        stddev_incep,
      </if>
      <if test="maxdrawdown1y != null">
        maxdrawdown_1y,
      </if>
      <if test="maxdrawdown2y != null">
        maxdrawdown_2y,
      </if>
      <if test="maxdrawdown3y != null">
        maxdrawdown_3y,
      </if>
      <if test="maxdrawdown4y != null">
        maxdrawdown_4y,
      </if>
      <if test="maxdrawdown5y != null">
        maxdrawdown_5y,
      </if>
      <if test="maxdrawdownIncep != null">
        maxdrawdown_incep,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides=",">
      <if test="id != null">
        #{id,jdbcType=VARCHAR},
      </if>
      <if test="fundName != null">
        #{fundName,jdbcType=VARCHAR},
      </if>
      <if test="fundShortName != null">
        #{fundShortName,jdbcType=VARCHAR},
      </if>
      <if test="riskLevel != null">
        #{riskLevel,jdbcType=INTEGER},
      </if>
      <if test="trustId != null">
        #{trustId,jdbcType=VARCHAR},
      </if>
      <if test="netNav != null">
        #{netNav,jdbcType=DECIMAL},
      </if>
      <if test="cumulativeNav != null">
        #{cumulativeNav,jdbcType=DECIMAL},
      </if>
      <if test="endDate != null">
        #{endDate,jdbcType=DATE},
      </if>
      <if test="priceDate != null">
        #{priceDate,jdbcType=DATE},
      </if>
      <if test="strategy != null">
        #{strategy,jdbcType=INTEGER},
      </if>
      <if test="substrategy != null">
        #{substrategy,jdbcType=INTEGER},
      </if>
      <if test="ret1w != null">
        #{ret1w,jdbcType=DECIMAL},
      </if>
      <if test="ret1m != null">
        #{ret1m,jdbcType=DECIMAL},
      </if>
      <if test="ret6m != null">
        #{ret6m,jdbcType=DECIMAL},
      </if>
      <if test="ret1y != null">
        #{ret1y,jdbcType=DECIMAL},
      </if>
      <if test="retIncep != null">
        #{retIncep,jdbcType=DECIMAL},
      </if>
      <if test="sharperatioIncep != null">
        #{sharperatioIncep,jdbcType=DECIMAL},
      </if>
      <if test="sharperatio1y != null">
        #{sharperatio1y,jdbcType=DECIMAL},
      </if>
      <if test="sharperatio2y != null">
        #{sharperatio2y,jdbcType=DECIMAL},
      </if>
      <if test="sharperatio3y != null">
        #{sharperatio3y,jdbcType=DECIMAL},
      </if>
      <if test="sharperatio4y != null">
        #{sharperatio4y,jdbcType=DECIMAL},
      </if>
      <if test="sharperatio5y != null">
        #{sharperatio5y,jdbcType=DECIMAL},
      </if>
      <if test="stddev1y != null">
        #{stddev1y,jdbcType=DECIMAL},
      </if>
      <if test="stddev2y != null">
        #{stddev2y,jdbcType=DECIMAL},
      </if>
      <if test="stddev3y != null">
        #{stddev3y,jdbcType=DECIMAL},
      </if>
      <if test="stddev4y != null">
        #{stddev4y,jdbcType=DECIMAL},
      </if>
      <if test="stddev5y != null">
        #{stddev5y,jdbcType=DECIMAL},
      </if>
      <if test="stddevIncep != null">
        #{stddevIncep,jdbcType=DECIMAL},
      </if>
      <if test="maxdrawdown1y != null">
        #{maxdrawdown1y,jdbcType=DECIMAL},
      </if>
      <if test="maxdrawdown2y != null">
        #{maxdrawdown2y,jdbcType=DECIMAL},
      </if>
      <if test="maxdrawdown3y != null">
        #{maxdrawdown3y,jdbcType=DECIMAL},
      </if>
      <if test="maxdrawdown4y != null">
        #{maxdrawdown4y,jdbcType=DECIMAL},
      </if>
      <if test="maxdrawdown5y != null">
        #{maxdrawdown5y,jdbcType=DECIMAL},
      </if>
      <if test="maxdrawdownIncep != null">
        #{maxdrawdownIncep,jdbcType=DECIMAL},
      </if>
    </trim>
  </insert>
  <select id="countByExample" parameterType="com.tanpu.fund.entity.generator.FundInfoPerformanceExample" resultType="java.lang.Long">
    <!--@mbg.generated-->
    select count(*) from fund_info_performance
    <if test="_parameter != null">
      <include refid="Example_Where_Clause" />
    </if>
  </select>
  <update id="updateByExampleSelective" parameterType="map">
    <!--@mbg.generated-->
    update fund_info_performance
    <set>
      <if test="record.id != null">
        id = #{record.id,jdbcType=VARCHAR},
      </if>
      <if test="record.fundName != null">
        fund_name = #{record.fundName,jdbcType=VARCHAR},
      </if>
      <if test="record.fundShortName != null">
        fund_short_name = #{record.fundShortName,jdbcType=VARCHAR},
      </if>
      <if test="record.riskLevel != null">
        risk_level = #{record.riskLevel,jdbcType=INTEGER},
      </if>
      <if test="record.trustId != null">
        trust_id = #{record.trustId,jdbcType=VARCHAR},
      </if>
      <if test="record.netNav != null">
        net_nav = #{record.netNav,jdbcType=DECIMAL},
      </if>
      <if test="record.cumulativeNav != null">
        cumulative_nav = #{record.cumulativeNav,jdbcType=DECIMAL},
      </if>
      <if test="record.endDate != null">
        end_date = #{record.endDate,jdbcType=DATE},
      </if>
      <if test="record.priceDate != null">
        price_date = #{record.priceDate,jdbcType=DATE},
      </if>
      <if test="record.strategy != null">
        strategy = #{record.strategy,jdbcType=INTEGER},
      </if>
      <if test="record.substrategy != null">
        substrategy = #{record.substrategy,jdbcType=INTEGER},
      </if>
      <if test="record.ret1w != null">
        ret_1w = #{record.ret1w,jdbcType=DECIMAL},
      </if>
      <if test="record.ret1m != null">
        ret_1m = #{record.ret1m,jdbcType=DECIMAL},
      </if>
      <if test="record.ret6m != null">
        ret_6m = #{record.ret6m,jdbcType=DECIMAL},
      </if>
      <if test="record.ret1y != null">
        ret_1y = #{record.ret1y,jdbcType=DECIMAL},
      </if>
      <if test="record.retIncep != null">
        ret_incep = #{record.retIncep,jdbcType=DECIMAL},
      </if>
      <if test="record.sharperatioIncep != null">
        sharperatio_incep = #{record.sharperatioIncep,jdbcType=DECIMAL},
      </if>
      <if test="record.sharperatio1y != null">
        sharperatio_1y = #{record.sharperatio1y,jdbcType=DECIMAL},
      </if>
      <if test="record.sharperatio2y != null">
        sharperatio_2y = #{record.sharperatio2y,jdbcType=DECIMAL},
      </if>
      <if test="record.sharperatio3y != null">
        sharperatio_3y = #{record.sharperatio3y,jdbcType=DECIMAL},
      </if>
      <if test="record.sharperatio4y != null">
        sharperatio_4y = #{record.sharperatio4y,jdbcType=DECIMAL},
      </if>
      <if test="record.sharperatio5y != null">
        sharperatio_5y = #{record.sharperatio5y,jdbcType=DECIMAL},
      </if>
      <if test="record.stddev1y != null">
        stddev_1y = #{record.stddev1y,jdbcType=DECIMAL},
      </if>
      <if test="record.stddev2y != null">
        stddev_2y = #{record.stddev2y,jdbcType=DECIMAL},
      </if>
      <if test="record.stddev3y != null">
        stddev_3y = #{record.stddev3y,jdbcType=DECIMAL},
      </if>
      <if test="record.stddev4y != null">
        stddev_4y = #{record.stddev4y,jdbcType=DECIMAL},
      </if>
      <if test="record.stddev5y != null">
        stddev_5y = #{record.stddev5y,jdbcType=DECIMAL},
      </if>
      <if test="record.stddevIncep != null">
        stddev_incep = #{record.stddevIncep,jdbcType=DECIMAL},
      </if>
      <if test="record.maxdrawdown1y != null">
        maxdrawdown_1y = #{record.maxdrawdown1y,jdbcType=DECIMAL},
      </if>
      <if test="record.maxdrawdown2y != null">
        maxdrawdown_2y = #{record.maxdrawdown2y,jdbcType=DECIMAL},
      </if>
      <if test="record.maxdrawdown3y != null">
        maxdrawdown_3y = #{record.maxdrawdown3y,jdbcType=DECIMAL},
      </if>
      <if test="record.maxdrawdown4y != null">
        maxdrawdown_4y = #{record.maxdrawdown4y,jdbcType=DECIMAL},
      </if>
      <if test="record.maxdrawdown5y != null">
        maxdrawdown_5y = #{record.maxdrawdown5y,jdbcType=DECIMAL},
      </if>
      <if test="record.maxdrawdownIncep != null">
        maxdrawdown_incep = #{record.maxdrawdownIncep,jdbcType=DECIMAL},
      </if>
    </set>
    <if test="_parameter != null">
      <include refid="Update_By_Example_Where_Clause" />
    </if>
  </update>
  <update id="updateByExample" parameterType="map">
    <!--@mbg.generated-->
    update fund_info_performance
    set id = #{record.id,jdbcType=VARCHAR},
      fund_name = #{record.fundName,jdbcType=VARCHAR},
      fund_short_name = #{record.fundShortName,jdbcType=VARCHAR},
      risk_level = #{record.riskLevel,jdbcType=INTEGER},
      trust_id = #{record.trustId,jdbcType=VARCHAR},
      net_nav = #{record.netNav,jdbcType=DECIMAL},
      cumulative_nav = #{record.cumulativeNav,jdbcType=DECIMAL},
      end_date = #{record.endDate,jdbcType=DATE},
      price_date = #{record.priceDate,jdbcType=DATE},
      strategy = #{record.strategy,jdbcType=INTEGER},
      substrategy = #{record.substrategy,jdbcType=INTEGER},
      ret_1w = #{record.ret1w,jdbcType=DECIMAL},
      ret_1m = #{record.ret1m,jdbcType=DECIMAL},
      ret_6m = #{record.ret6m,jdbcType=DECIMAL},
      ret_1y = #{record.ret1y,jdbcType=DECIMAL},
      ret_incep = #{record.retIncep,jdbcType=DECIMAL},
      sharperatio_incep = #{record.sharperatioIncep,jdbcType=DECIMAL},
      sharperatio_1y = #{record.sharperatio1y,jdbcType=DECIMAL},
      sharperatio_2y = #{record.sharperatio2y,jdbcType=DECIMAL},
      sharperatio_3y = #{record.sharperatio3y,jdbcType=DECIMAL},
      sharperatio_4y = #{record.sharperatio4y,jdbcType=DECIMAL},
      sharperatio_5y = #{record.sharperatio5y,jdbcType=DECIMAL},
      stddev_1y = #{record.stddev1y,jdbcType=DECIMAL},
      stddev_2y = #{record.stddev2y,jdbcType=DECIMAL},
      stddev_3y = #{record.stddev3y,jdbcType=DECIMAL},
      stddev_4y = #{record.stddev4y,jdbcType=DECIMAL},
      stddev_5y = #{record.stddev5y,jdbcType=DECIMAL},
      stddev_incep = #{record.stddevIncep,jdbcType=DECIMAL},
      maxdrawdown_1y = #{record.maxdrawdown1y,jdbcType=DECIMAL},
      maxdrawdown_2y = #{record.maxdrawdown2y,jdbcType=DECIMAL},
      maxdrawdown_3y = #{record.maxdrawdown3y,jdbcType=DECIMAL},
      maxdrawdown_4y = #{record.maxdrawdown4y,jdbcType=DECIMAL},
      maxdrawdown_5y = #{record.maxdrawdown5y,jdbcType=DECIMAL},
      maxdrawdown_incep = #{record.maxdrawdownIncep,jdbcType=DECIMAL}
    <if test="_parameter != null">
      <include refid="Update_By_Example_Where_Clause" />
    </if>
  </update>
  <insert id="batchInsert" parameterType="map">
    <!--@mbg.generated-->
    insert into fund_info_performance
    (id, fund_name, fund_short_name, risk_level, trust_id, net_nav, cumulative_nav, end_date, 
      price_date, strategy, substrategy, ret_1w, ret_1m, ret_6m, ret_1y, ret_incep, sharperatio_incep, 
      sharperatio_1y, sharperatio_2y, sharperatio_3y, sharperatio_4y, sharperatio_5y, 
      stddev_1y, stddev_2y, stddev_3y, stddev_4y, stddev_5y, stddev_incep, maxdrawdown_1y, 
      maxdrawdown_2y, maxdrawdown_3y, maxdrawdown_4y, maxdrawdown_5y, maxdrawdown_incep
      )
    values
    <foreach collection="list" item="item" separator=",">
      (#{item.id,jdbcType=VARCHAR}, #{item.fundName,jdbcType=VARCHAR}, #{item.fundShortName,jdbcType=VARCHAR}, 
        #{item.riskLevel,jdbcType=INTEGER}, #{item.trustId,jdbcType=VARCHAR}, #{item.netNav,jdbcType=DECIMAL}, 
        #{item.cumulativeNav,jdbcType=DECIMAL}, #{item.endDate,jdbcType=DATE}, #{item.priceDate,jdbcType=DATE}, 
        #{item.strategy,jdbcType=INTEGER}, #{item.substrategy,jdbcType=INTEGER}, #{item.ret1w,jdbcType=DECIMAL}, 
        #{item.ret1m,jdbcType=DECIMAL}, #{item.ret6m,jdbcType=DECIMAL}, #{item.ret1y,jdbcType=DECIMAL}, 
        #{item.retIncep,jdbcType=DECIMAL}, #{item.sharperatioIncep,jdbcType=DECIMAL}, #{item.sharperatio1y,jdbcType=DECIMAL}, 
        #{item.sharperatio2y,jdbcType=DECIMAL}, #{item.sharperatio3y,jdbcType=DECIMAL}, 
        #{item.sharperatio4y,jdbcType=DECIMAL}, #{item.sharperatio5y,jdbcType=DECIMAL}, 
        #{item.stddev1y,jdbcType=DECIMAL}, #{item.stddev2y,jdbcType=DECIMAL}, #{item.stddev3y,jdbcType=DECIMAL}, 
        #{item.stddev4y,jdbcType=DECIMAL}, #{item.stddev5y,jdbcType=DECIMAL}, #{item.stddevIncep,jdbcType=DECIMAL}, 
        #{item.maxdrawdown1y,jdbcType=DECIMAL}, #{item.maxdrawdown2y,jdbcType=DECIMAL}, 
        #{item.maxdrawdown3y,jdbcType=DECIMAL}, #{item.maxdrawdown4y,jdbcType=DECIMAL}, 
        #{item.maxdrawdown5y,jdbcType=DECIMAL}, #{item.maxdrawdownIncep,jdbcType=DECIMAL}
        )
    </foreach>
  </insert>
  <insert id="insertOrUpdate" parameterType="com.tanpu.fund.entity.generator.FundInfoPerformance">
    <!--@mbg.generated-->
    insert into fund_info_performance
    (id, fund_name, fund_short_name, risk_level, trust_id, net_nav, cumulative_nav, end_date, 
      price_date, strategy, substrategy, ret_1w, ret_1m, ret_6m, ret_1y, ret_incep, sharperatio_incep, 
      sharperatio_1y, sharperatio_2y, sharperatio_3y, sharperatio_4y, sharperatio_5y, 
      stddev_1y, stddev_2y, stddev_3y, stddev_4y, stddev_5y, stddev_incep, maxdrawdown_1y, 
      maxdrawdown_2y, maxdrawdown_3y, maxdrawdown_4y, maxdrawdown_5y, maxdrawdown_incep
      )
    values
    (#{id,jdbcType=VARCHAR}, #{fundName,jdbcType=VARCHAR}, #{fundShortName,jdbcType=VARCHAR}, 
      #{riskLevel,jdbcType=INTEGER}, #{trustId,jdbcType=VARCHAR}, #{netNav,jdbcType=DECIMAL}, 
      #{cumulativeNav,jdbcType=DECIMAL}, #{endDate,jdbcType=DATE}, #{priceDate,jdbcType=DATE}, 
      #{strategy,jdbcType=INTEGER}, #{substrategy,jdbcType=INTEGER}, #{ret1w,jdbcType=DECIMAL}, 
      #{ret1m,jdbcType=DECIMAL}, #{ret6m,jdbcType=DECIMAL}, #{ret1y,jdbcType=DECIMAL}, 
      #{retIncep,jdbcType=DECIMAL}, #{sharperatioIncep,jdbcType=DECIMAL}, #{sharperatio1y,jdbcType=DECIMAL}, 
      #{sharperatio2y,jdbcType=DECIMAL}, #{sharperatio3y,jdbcType=DECIMAL}, #{sharperatio4y,jdbcType=DECIMAL}, 
      #{sharperatio5y,jdbcType=DECIMAL}, #{stddev1y,jdbcType=DECIMAL}, #{stddev2y,jdbcType=DECIMAL}, 
      #{stddev3y,jdbcType=DECIMAL}, #{stddev4y,jdbcType=DECIMAL}, #{stddev5y,jdbcType=DECIMAL}, 
      #{stddevIncep,jdbcType=DECIMAL}, #{maxdrawdown1y,jdbcType=DECIMAL}, #{maxdrawdown2y,jdbcType=DECIMAL}, 
      #{maxdrawdown3y,jdbcType=DECIMAL}, #{maxdrawdown4y,jdbcType=DECIMAL}, #{maxdrawdown5y,jdbcType=DECIMAL}, 
      #{maxdrawdownIncep,jdbcType=DECIMAL})
    on duplicate key update 
    id = #{id,jdbcType=VARCHAR}, 
    fund_name = #{fundName,jdbcType=VARCHAR}, 
    fund_short_name = #{fundShortName,jdbcType=VARCHAR}, 
    risk_level = #{riskLevel,jdbcType=INTEGER}, 
    trust_id = #{trustId,jdbcType=VARCHAR}, 
    net_nav = #{netNav,jdbcType=DECIMAL}, 
    cumulative_nav = #{cumulativeNav,jdbcType=DECIMAL}, 
    end_date = #{endDate,jdbcType=DATE}, 
    price_date = #{priceDate,jdbcType=DATE}, 
    strategy = #{strategy,jdbcType=INTEGER}, 
    substrategy = #{substrategy,jdbcType=INTEGER}, 
    ret_1w = #{ret1w,jdbcType=DECIMAL}, 
    ret_1m = #{ret1m,jdbcType=DECIMAL}, 
    ret_6m = #{ret6m,jdbcType=DECIMAL}, 
    ret_1y = #{ret1y,jdbcType=DECIMAL}, 
    ret_incep = #{retIncep,jdbcType=DECIMAL}, 
    sharperatio_incep = #{sharperatioIncep,jdbcType=DECIMAL}, 
    sharperatio_1y = #{sharperatio1y,jdbcType=DECIMAL}, 
    sharperatio_2y = #{sharperatio2y,jdbcType=DECIMAL}, 
    sharperatio_3y = #{sharperatio3y,jdbcType=DECIMAL}, 
    sharperatio_4y = #{sharperatio4y,jdbcType=DECIMAL}, 
    sharperatio_5y = #{sharperatio5y,jdbcType=DECIMAL}, 
    stddev_1y = #{stddev1y,jdbcType=DECIMAL}, 
    stddev_2y = #{stddev2y,jdbcType=DECIMAL}, 
    stddev_3y = #{stddev3y,jdbcType=DECIMAL}, 
    stddev_4y = #{stddev4y,jdbcType=DECIMAL}, 
    stddev_5y = #{stddev5y,jdbcType=DECIMAL}, 
    stddev_incep = #{stddevIncep,jdbcType=DECIMAL}, 
    maxdrawdown_1y = #{maxdrawdown1y,jdbcType=DECIMAL}, 
    maxdrawdown_2y = #{maxdrawdown2y,jdbcType=DECIMAL}, 
    maxdrawdown_3y = #{maxdrawdown3y,jdbcType=DECIMAL}, 
    maxdrawdown_4y = #{maxdrawdown4y,jdbcType=DECIMAL}, 
    maxdrawdown_5y = #{maxdrawdown5y,jdbcType=DECIMAL}, 
    maxdrawdown_incep = #{maxdrawdownIncep,jdbcType=DECIMAL}
  </insert>
  <insert id="insertOrUpdateSelective" parameterType="com.tanpu.fund.entity.generator.FundInfoPerformance">
    <!--@mbg.generated-->
    insert into fund_info_performance
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="id != null">
        id,
      </if>
      <if test="fundName != null">
        fund_name,
      </if>
      <if test="fundShortName != null">
        fund_short_name,
      </if>
      <if test="riskLevel != null">
        risk_level,
      </if>
      <if test="trustId != null">
        trust_id,
      </if>
      <if test="netNav != null">
        net_nav,
      </if>
      <if test="cumulativeNav != null">
        cumulative_nav,
      </if>
      <if test="endDate != null">
        end_date,
      </if>
      <if test="priceDate != null">
        price_date,
      </if>
      <if test="strategy != null">
        strategy,
      </if>
      <if test="substrategy != null">
        substrategy,
      </if>
      <if test="ret1w != null">
        ret_1w,
      </if>
      <if test="ret1m != null">
        ret_1m,
      </if>
      <if test="ret6m != null">
        ret_6m,
      </if>
      <if test="ret1y != null">
        ret_1y,
      </if>
      <if test="retIncep != null">
        ret_incep,
      </if>
      <if test="sharperatioIncep != null">
        sharperatio_incep,
      </if>
      <if test="sharperatio1y != null">
        sharperatio_1y,
      </if>
      <if test="sharperatio2y != null">
        sharperatio_2y,
      </if>
      <if test="sharperatio3y != null">
        sharperatio_3y,
      </if>
      <if test="sharperatio4y != null">
        sharperatio_4y,
      </if>
      <if test="sharperatio5y != null">
        sharperatio_5y,
      </if>
      <if test="stddev1y != null">
        stddev_1y,
      </if>
      <if test="stddev2y != null">
        stddev_2y,
      </if>
      <if test="stddev3y != null">
        stddev_3y,
      </if>
      <if test="stddev4y != null">
        stddev_4y,
      </if>
      <if test="stddev5y != null">
        stddev_5y,
      </if>
      <if test="stddevIncep != null">
        stddev_incep,
      </if>
      <if test="maxdrawdown1y != null">
        maxdrawdown_1y,
      </if>
      <if test="maxdrawdown2y != null">
        maxdrawdown_2y,
      </if>
      <if test="maxdrawdown3y != null">
        maxdrawdown_3y,
      </if>
      <if test="maxdrawdown4y != null">
        maxdrawdown_4y,
      </if>
      <if test="maxdrawdown5y != null">
        maxdrawdown_5y,
      </if>
      <if test="maxdrawdownIncep != null">
        maxdrawdown_incep,
      </if>
    </trim>
    values
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="id != null">
        #{id,jdbcType=VARCHAR},
      </if>
      <if test="fundName != null">
        #{fundName,jdbcType=VARCHAR},
      </if>
      <if test="fundShortName != null">
        #{fundShortName,jdbcType=VARCHAR},
      </if>
      <if test="riskLevel != null">
        #{riskLevel,jdbcType=INTEGER},
      </if>
      <if test="trustId != null">
        #{trustId,jdbcType=VARCHAR},
      </if>
      <if test="netNav != null">
        #{netNav,jdbcType=DECIMAL},
      </if>
      <if test="cumulativeNav != null">
        #{cumulativeNav,jdbcType=DECIMAL},
      </if>
      <if test="endDate != null">
        #{endDate,jdbcType=DATE},
      </if>
      <if test="priceDate != null">
        #{priceDate,jdbcType=DATE},
      </if>
      <if test="strategy != null">
        #{strategy,jdbcType=INTEGER},
      </if>
      <if test="substrategy != null">
        #{substrategy,jdbcType=INTEGER},
      </if>
      <if test="ret1w != null">
        #{ret1w,jdbcType=DECIMAL},
      </if>
      <if test="ret1m != null">
        #{ret1m,jdbcType=DECIMAL},
      </if>
      <if test="ret6m != null">
        #{ret6m,jdbcType=DECIMAL},
      </if>
      <if test="ret1y != null">
        #{ret1y,jdbcType=DECIMAL},
      </if>
      <if test="retIncep != null">
        #{retIncep,jdbcType=DECIMAL},
      </if>
      <if test="sharperatioIncep != null">
        #{sharperatioIncep,jdbcType=DECIMAL},
      </if>
      <if test="sharperatio1y != null">
        #{sharperatio1y,jdbcType=DECIMAL},
      </if>
      <if test="sharperatio2y != null">
        #{sharperatio2y,jdbcType=DECIMAL},
      </if>
      <if test="sharperatio3y != null">
        #{sharperatio3y,jdbcType=DECIMAL},
      </if>
      <if test="sharperatio4y != null">
        #{sharperatio4y,jdbcType=DECIMAL},
      </if>
      <if test="sharperatio5y != null">
        #{sharperatio5y,jdbcType=DECIMAL},
      </if>
      <if test="stddev1y != null">
        #{stddev1y,jdbcType=DECIMAL},
      </if>
      <if test="stddev2y != null">
        #{stddev2y,jdbcType=DECIMAL},
      </if>
      <if test="stddev3y != null">
        #{stddev3y,jdbcType=DECIMAL},
      </if>
      <if test="stddev4y != null">
        #{stddev4y,jdbcType=DECIMAL},
      </if>
      <if test="stddev5y != null">
        #{stddev5y,jdbcType=DECIMAL},
      </if>
      <if test="stddevIncep != null">
        #{stddevIncep,jdbcType=DECIMAL},
      </if>
      <if test="maxdrawdown1y != null">
        #{maxdrawdown1y,jdbcType=DECIMAL},
      </if>
      <if test="maxdrawdown2y != null">
        #{maxdrawdown2y,jdbcType=DECIMAL},
      </if>
      <if test="maxdrawdown3y != null">
        #{maxdrawdown3y,jdbcType=DECIMAL},
      </if>
      <if test="maxdrawdown4y != null">
        #{maxdrawdown4y,jdbcType=DECIMAL},
      </if>
      <if test="maxdrawdown5y != null">
        #{maxdrawdown5y,jdbcType=DECIMAL},
      </if>
      <if test="maxdrawdownIncep != null">
        #{maxdrawdownIncep,jdbcType=DECIMAL},
      </if>
    </trim>
    on duplicate key update 
    <trim suffixOverrides=",">
      <if test="id != null">
        id = #{id,jdbcType=VARCHAR},
      </if>
      <if test="fundName != null">
        fund_name = #{fundName,jdbcType=VARCHAR},
      </if>
      <if test="fundShortName != null">
        fund_short_name = #{fundShortName,jdbcType=VARCHAR},
      </if>
      <if test="riskLevel != null">
        risk_level = #{riskLevel,jdbcType=INTEGER},
      </if>
      <if test="trustId != null">
        trust_id = #{trustId,jdbcType=VARCHAR},
      </if>
      <if test="netNav != null">
        net_nav = #{netNav,jdbcType=DECIMAL},
      </if>
      <if test="cumulativeNav != null">
        cumulative_nav = #{cumulativeNav,jdbcType=DECIMAL},
      </if>
      <if test="endDate != null">
        end_date = #{endDate,jdbcType=DATE},
      </if>
      <if test="priceDate != null">
        price_date = #{priceDate,jdbcType=DATE},
      </if>
      <if test="strategy != null">
        strategy = #{strategy,jdbcType=INTEGER},
      </if>
      <if test="substrategy != null">
        substrategy = #{substrategy,jdbcType=INTEGER},
      </if>
      <if test="ret1w != null">
        ret_1w = #{ret1w,jdbcType=DECIMAL},
      </if>
      <if test="ret1m != null">
        ret_1m = #{ret1m,jdbcType=DECIMAL},
      </if>
      <if test="ret6m != null">
        ret_6m = #{ret6m,jdbcType=DECIMAL},
      </if>
      <if test="ret1y != null">
        ret_1y = #{ret1y,jdbcType=DECIMAL},
      </if>
      <if test="retIncep != null">
        ret_incep = #{retIncep,jdbcType=DECIMAL},
      </if>
      <if test="sharperatioIncep != null">
        sharperatio_incep = #{sharperatioIncep,jdbcType=DECIMAL},
      </if>
      <if test="sharperatio1y != null">
        sharperatio_1y = #{sharperatio1y,jdbcType=DECIMAL},
      </if>
      <if test="sharperatio2y != null">
        sharperatio_2y = #{sharperatio2y,jdbcType=DECIMAL},
      </if>
      <if test="sharperatio3y != null">
        sharperatio_3y = #{sharperatio3y,jdbcType=DECIMAL},
      </if>
      <if test="sharperatio4y != null">
        sharperatio_4y = #{sharperatio4y,jdbcType=DECIMAL},
      </if>
      <if test="sharperatio5y != null">
        sharperatio_5y = #{sharperatio5y,jdbcType=DECIMAL},
      </if>
      <if test="stddev1y != null">
        stddev_1y = #{stddev1y,jdbcType=DECIMAL},
      </if>
      <if test="stddev2y != null">
        stddev_2y = #{stddev2y,jdbcType=DECIMAL},
      </if>
      <if test="stddev3y != null">
        stddev_3y = #{stddev3y,jdbcType=DECIMAL},
      </if>
      <if test="stddev4y != null">
        stddev_4y = #{stddev4y,jdbcType=DECIMAL},
      </if>
      <if test="stddev5y != null">
        stddev_5y = #{stddev5y,jdbcType=DECIMAL},
      </if>
      <if test="stddevIncep != null">
        stddev_incep = #{stddevIncep,jdbcType=DECIMAL},
      </if>
      <if test="maxdrawdown1y != null">
        maxdrawdown_1y = #{maxdrawdown1y,jdbcType=DECIMAL},
      </if>
      <if test="maxdrawdown2y != null">
        maxdrawdown_2y = #{maxdrawdown2y,jdbcType=DECIMAL},
      </if>
      <if test="maxdrawdown3y != null">
        maxdrawdown_3y = #{maxdrawdown3y,jdbcType=DECIMAL},
      </if>
      <if test="maxdrawdown4y != null">
        maxdrawdown_4y = #{maxdrawdown4y,jdbcType=DECIMAL},
      </if>
      <if test="maxdrawdown5y != null">
        maxdrawdown_5y = #{maxdrawdown5y,jdbcType=DECIMAL},
      </if>
      <if test="maxdrawdownIncep != null">
        maxdrawdown_incep = #{maxdrawdownIncep,jdbcType=DECIMAL},
      </if>
    </trim>
  </insert>
</mapper>