<?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.FundNavMapper">
  <resultMap id="BaseResultMap" type="com.tanpu.fund.entity.generator.FundNav">
    <!--@mbg.generated-->
    <!--@Table fund_nav-->
    <id column="id" jdbcType="VARCHAR" property="id" />
    <result column="fund_id" jdbcType="VARCHAR" property="fundId" />
    <result column="price_date" jdbcType="DATE" property="priceDate" />
    <result column="nav" jdbcType="DECIMAL" property="nav" />
    <result column="cumulative_nav" jdbcType="DECIMAL" property="cumulativeNav" />
    <result column="cumulative_nav_withdrawal" jdbcType="DECIMAL" property="cumulativeNavWithdrawal" />
    <result column="ishigh_or_low" jdbcType="INTEGER" property="ishighOrLow" />
    <result column="tohigh_nav_ratio" jdbcType="DECIMAL" property="tohighNavRatio" />
    <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" />
    <result column="pre_nav" jdbcType="DECIMAL" property="preNav" />
  </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_id, price_date, nav, cumulative_nav, cumulative_nav_withdrawal, ishigh_or_low, 
    tohigh_nav_ratio, create_by, create_time, update_by, update_time, delete_tag, pre_nav
  </sql>
  <select id="selectByExample" parameterType="com.tanpu.fund.entity.generator.FundNavExample" resultMap="BaseResultMap">
    <!--@mbg.generated-->
    select
    <if test="distinct">
      distinct
    </if>
    <include refid="Base_Column_List" />
    from fund_nav
    <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 fund_nav
    where id = #{id,jdbcType=VARCHAR}
  </select>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
    <!--@mbg.generated-->
    delete from fund_nav
    where id = #{id,jdbcType=VARCHAR}
  </delete>
  <delete id="deleteByExample" parameterType="com.tanpu.fund.entity.generator.FundNavExample">
    <!--@mbg.generated-->
    delete from fund_nav
    <if test="_parameter != null">
      <include refid="Example_Where_Clause" />
    </if>
  </delete>
  <insert id="insert" parameterType="com.tanpu.fund.entity.generator.FundNav">
    <!--@mbg.generated-->
    insert into fund_nav (id, fund_id, price_date, 
      nav, cumulative_nav, cumulative_nav_withdrawal, 
      ishigh_or_low, tohigh_nav_ratio, create_by, 
      create_time, update_by, update_time, 
      delete_tag, pre_nav)
    values (#{id,jdbcType=VARCHAR}, #{fundId,jdbcType=VARCHAR}, #{priceDate,jdbcType=DATE}, 
      #{nav,jdbcType=DECIMAL}, #{cumulativeNav,jdbcType=DECIMAL}, #{cumulativeNavWithdrawal,jdbcType=DECIMAL}, 
      #{ishighOrLow,jdbcType=INTEGER}, #{tohighNavRatio,jdbcType=DECIMAL}, #{createBy,jdbcType=VARCHAR}, 
      #{createTime,jdbcType=TIMESTAMP}, #{updateBy,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, 
      #{deleteTag,jdbcType=INTEGER}, #{preNav,jdbcType=DECIMAL})
  </insert>
  <insert id="insertSelective" parameterType="com.tanpu.fund.entity.generator.FundNav">
    <!--@mbg.generated-->
    insert into fund_nav
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="id != null">
        id,
      </if>
      <if test="fundId != null">
        fund_id,
      </if>
      <if test="priceDate != null">
        price_date,
      </if>
      <if test="nav != null">
        nav,
      </if>
      <if test="cumulativeNav != null">
        cumulative_nav,
      </if>
      <if test="cumulativeNavWithdrawal != null">
        cumulative_nav_withdrawal,
      </if>
      <if test="ishighOrLow != null">
        ishigh_or_low,
      </if>
      <if test="tohighNavRatio != null">
        tohigh_nav_ratio,
      </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>
      <if test="preNav != null">
        pre_nav,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides=",">
      <if test="id != null">
        #{id,jdbcType=VARCHAR},
      </if>
      <if test="fundId != null">
        #{fundId,jdbcType=VARCHAR},
      </if>
      <if test="priceDate != null">
        #{priceDate,jdbcType=DATE},
      </if>
      <if test="nav != null">
        #{nav,jdbcType=DECIMAL},
      </if>
      <if test="cumulativeNav != null">
        #{cumulativeNav,jdbcType=DECIMAL},
      </if>
      <if test="cumulativeNavWithdrawal != null">
        #{cumulativeNavWithdrawal,jdbcType=DECIMAL},
      </if>
      <if test="ishighOrLow != null">
        #{ishighOrLow,jdbcType=INTEGER},
      </if>
      <if test="tohighNavRatio != null">
        #{tohighNavRatio,jdbcType=DECIMAL},
      </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>
      <if test="preNav != null">
        #{preNav,jdbcType=DECIMAL},
      </if>
    </trim>
  </insert>
  <select id="countByExample" parameterType="com.tanpu.fund.entity.generator.FundNavExample" resultType="java.lang.Long">
    <!--@mbg.generated-->
    select count(*) from fund_nav
    <if test="_parameter != null">
      <include refid="Example_Where_Clause" />
    </if>
  </select>
  <update id="updateByExampleSelective" parameterType="map">
    <!--@mbg.generated-->
    update fund_nav
    <set>
      <if test="record.id != null">
        id = #{record.id,jdbcType=VARCHAR},
      </if>
      <if test="record.fundId != null">
        fund_id = #{record.fundId,jdbcType=VARCHAR},
      </if>
      <if test="record.priceDate != null">
        price_date = #{record.priceDate,jdbcType=DATE},
      </if>
      <if test="record.nav != null">
        nav = #{record.nav,jdbcType=DECIMAL},
      </if>
      <if test="record.cumulativeNav != null">
        cumulative_nav = #{record.cumulativeNav,jdbcType=DECIMAL},
      </if>
      <if test="record.cumulativeNavWithdrawal != null">
        cumulative_nav_withdrawal = #{record.cumulativeNavWithdrawal,jdbcType=DECIMAL},
      </if>
      <if test="record.ishighOrLow != null">
        ishigh_or_low = #{record.ishighOrLow,jdbcType=INTEGER},
      </if>
      <if test="record.tohighNavRatio != null">
        tohigh_nav_ratio = #{record.tohighNavRatio,jdbcType=DECIMAL},
      </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>
      <if test="record.preNav != null">
        pre_nav = #{record.preNav,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_nav
    set id = #{record.id,jdbcType=VARCHAR},
      fund_id = #{record.fundId,jdbcType=VARCHAR},
      price_date = #{record.priceDate,jdbcType=DATE},
      nav = #{record.nav,jdbcType=DECIMAL},
      cumulative_nav = #{record.cumulativeNav,jdbcType=DECIMAL},
      cumulative_nav_withdrawal = #{record.cumulativeNavWithdrawal,jdbcType=DECIMAL},
      ishigh_or_low = #{record.ishighOrLow,jdbcType=INTEGER},
      tohigh_nav_ratio = #{record.tohighNavRatio,jdbcType=DECIMAL},
      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},
      pre_nav = #{record.preNav,jdbcType=DECIMAL}
    <if test="_parameter != null">
      <include refid="Update_By_Example_Where_Clause" />
    </if>
  </update>
  <update id="updateByPrimaryKeySelective" parameterType="com.tanpu.fund.entity.generator.FundNav">
    <!--@mbg.generated-->
    update fund_nav
    <set>
      <if test="fundId != null">
        fund_id = #{fundId,jdbcType=VARCHAR},
      </if>
      <if test="priceDate != null">
        price_date = #{priceDate,jdbcType=DATE},
      </if>
      <if test="nav != null">
        nav = #{nav,jdbcType=DECIMAL},
      </if>
      <if test="cumulativeNav != null">
        cumulative_nav = #{cumulativeNav,jdbcType=DECIMAL},
      </if>
      <if test="cumulativeNavWithdrawal != null">
        cumulative_nav_withdrawal = #{cumulativeNavWithdrawal,jdbcType=DECIMAL},
      </if>
      <if test="ishighOrLow != null">
        ishigh_or_low = #{ishighOrLow,jdbcType=INTEGER},
      </if>
      <if test="tohighNavRatio != null">
        tohigh_nav_ratio = #{tohighNavRatio,jdbcType=DECIMAL},
      </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>
      <if test="preNav != null">
        pre_nav = #{preNav,jdbcType=DECIMAL},
      </if>
    </set>
    where id = #{id,jdbcType=VARCHAR}
  </update>
  <update id="updateByPrimaryKey" parameterType="com.tanpu.fund.entity.generator.FundNav">
    <!--@mbg.generated-->
    update fund_nav
    set fund_id = #{fundId,jdbcType=VARCHAR},
      price_date = #{priceDate,jdbcType=DATE},
      nav = #{nav,jdbcType=DECIMAL},
      cumulative_nav = #{cumulativeNav,jdbcType=DECIMAL},
      cumulative_nav_withdrawal = #{cumulativeNavWithdrawal,jdbcType=DECIMAL},
      ishigh_or_low = #{ishighOrLow,jdbcType=INTEGER},
      tohigh_nav_ratio = #{tohighNavRatio,jdbcType=DECIMAL},
      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},
      pre_nav = #{preNav,jdbcType=DECIMAL}
    where id = #{id,jdbcType=VARCHAR}
  </update>
  <update id="updateBatch" parameterType="java.util.List">
    <!--@mbg.generated-->
    update fund_nav
    <trim prefix="set" suffixOverrides=",">
      <trim prefix="fund_id = case" suffix="end,">
        <foreach collection="list" index="index" item="item">
          when id = #{item.id,jdbcType=VARCHAR} then #{item.fundId,jdbcType=VARCHAR}
        </foreach>
      </trim>
      <trim prefix="price_date = case" suffix="end,">
        <foreach collection="list" index="index" item="item">
          when id = #{item.id,jdbcType=VARCHAR} then #{item.priceDate,jdbcType=DATE}
        </foreach>
      </trim>
      <trim prefix="nav = case" suffix="end,">
        <foreach collection="list" index="index" item="item">
          when id = #{item.id,jdbcType=VARCHAR} then #{item.nav,jdbcType=DECIMAL}
        </foreach>
      </trim>
      <trim prefix="cumulative_nav = case" suffix="end,">
        <foreach collection="list" index="index" item="item">
          when id = #{item.id,jdbcType=VARCHAR} then #{item.cumulativeNav,jdbcType=DECIMAL}
        </foreach>
      </trim>
      <trim prefix="cumulative_nav_withdrawal = case" suffix="end,">
        <foreach collection="list" index="index" item="item">
          when id = #{item.id,jdbcType=VARCHAR} then #{item.cumulativeNavWithdrawal,jdbcType=DECIMAL}
        </foreach>
      </trim>
      <trim prefix="ishigh_or_low = case" suffix="end,">
        <foreach collection="list" index="index" item="item">
          when id = #{item.id,jdbcType=VARCHAR} then #{item.ishighOrLow,jdbcType=INTEGER}
        </foreach>
      </trim>
      <trim prefix="tohigh_nav_ratio = case" suffix="end,">
        <foreach collection="list" index="index" item="item">
          when id = #{item.id,jdbcType=VARCHAR} then #{item.tohighNavRatio,jdbcType=DECIMAL}
        </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 prefix="pre_nav = case" suffix="end,">
        <foreach collection="list" index="index" item="item">
          when id = #{item.id,jdbcType=VARCHAR} then #{item.preNav,jdbcType=DECIMAL}
        </foreach>
      </trim>
    </trim>
    where id in
    <foreach close=")" collection="list" item="item" open="(" separator=", ">
      #{item.id,jdbcType=VARCHAR}
    </foreach>
  </update>
  <update id="updateBatchSelective" parameterType="java.util.List">
    <!--@mbg.generated-->
    update fund_nav
    <trim prefix="set" suffixOverrides=",">
      <trim prefix="fund_id = case" suffix="end,">
        <foreach collection="list" index="index" item="item">
          <if test="item.fundId != null">
            when id = #{item.id,jdbcType=VARCHAR} then #{item.fundId,jdbcType=VARCHAR}
          </if>
        </foreach>
      </trim>
      <trim prefix="price_date = case" suffix="end,">
        <foreach collection="list" index="index" item="item">
          <if test="item.priceDate != null">
            when id = #{item.id,jdbcType=VARCHAR} then #{item.priceDate,jdbcType=DATE}
          </if>
        </foreach>
      </trim>
      <trim prefix="nav = case" suffix="end,">
        <foreach collection="list" index="index" item="item">
          <if test="item.nav != null">
            when id = #{item.id,jdbcType=VARCHAR} then #{item.nav,jdbcType=DECIMAL}
          </if>
        </foreach>
      </trim>
      <trim prefix="cumulative_nav = case" suffix="end,">
        <foreach collection="list" index="index" item="item">
          <if test="item.cumulativeNav != null">
            when id = #{item.id,jdbcType=VARCHAR} then #{item.cumulativeNav,jdbcType=DECIMAL}
          </if>
        </foreach>
      </trim>
      <trim prefix="cumulative_nav_withdrawal = case" suffix="end,">
        <foreach collection="list" index="index" item="item">
          <if test="item.cumulativeNavWithdrawal != null">
            when id = #{item.id,jdbcType=VARCHAR} then #{item.cumulativeNavWithdrawal,jdbcType=DECIMAL}
          </if>
        </foreach>
      </trim>
      <trim prefix="ishigh_or_low = case" suffix="end,">
        <foreach collection="list" index="index" item="item">
          <if test="item.ishighOrLow != null">
            when id = #{item.id,jdbcType=VARCHAR} then #{item.ishighOrLow,jdbcType=INTEGER}
          </if>
        </foreach>
      </trim>
      <trim prefix="tohigh_nav_ratio = case" suffix="end,">
        <foreach collection="list" index="index" item="item">
          <if test="item.tohighNavRatio != null">
            when id = #{item.id,jdbcType=VARCHAR} then #{item.tohighNavRatio,jdbcType=DECIMAL}
          </if>
        </foreach>
      </trim>
      <trim prefix="create_by = case" suffix="end,">
        <foreach collection="list" index="index" item="item">
          <if test="item.createBy != null">
            when id = #{item.id,jdbcType=VARCHAR} then #{item.createBy,jdbcType=VARCHAR}
          </if>
        </foreach>
      </trim>
      <trim prefix="create_time = case" suffix="end,">
        <foreach collection="list" index="index" item="item">
          <if test="item.createTime != null">
            when id = #{item.id,jdbcType=VARCHAR} then #{item.createTime,jdbcType=TIMESTAMP}
          </if>
        </foreach>
      </trim>
      <trim prefix="update_by = case" suffix="end,">
        <foreach collection="list" index="index" item="item">
          <if test="item.updateBy != null">
            when id = #{item.id,jdbcType=VARCHAR} then #{item.updateBy,jdbcType=VARCHAR}
          </if>
        </foreach>
      </trim>
      <trim prefix="update_time = case" suffix="end,">
        <foreach collection="list" index="index" item="item">
          <if test="item.updateTime != null">
            when id = #{item.id,jdbcType=VARCHAR} then #{item.updateTime,jdbcType=TIMESTAMP}
          </if>
        </foreach>
      </trim>
      <trim prefix="delete_tag = case" suffix="end,">
        <foreach collection="list" index="index" item="item">
          <if test="item.deleteTag != null">
            when id = #{item.id,jdbcType=VARCHAR} then #{item.deleteTag,jdbcType=INTEGER}
          </if>
        </foreach>
      </trim>
      <trim prefix="pre_nav = case" suffix="end,">
        <foreach collection="list" index="index" item="item">
          <if test="item.preNav != null">
            when id = #{item.id,jdbcType=VARCHAR} then #{item.preNav,jdbcType=DECIMAL}
          </if>
        </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 fund_nav
    (id, fund_id, price_date, nav, cumulative_nav, cumulative_nav_withdrawal, ishigh_or_low, 
      tohigh_nav_ratio, create_by, create_time, update_by, update_time, delete_tag, pre_nav
      )
    values
    <foreach collection="list" item="item" separator=",">
      (#{item.id,jdbcType=VARCHAR}, #{item.fundId,jdbcType=VARCHAR}, #{item.priceDate,jdbcType=DATE}, 
        #{item.nav,jdbcType=DECIMAL}, #{item.cumulativeNav,jdbcType=DECIMAL}, #{item.cumulativeNavWithdrawal,jdbcType=DECIMAL}, 
        #{item.ishighOrLow,jdbcType=INTEGER}, #{item.tohighNavRatio,jdbcType=DECIMAL}, 
        #{item.createBy,jdbcType=VARCHAR}, #{item.createTime,jdbcType=TIMESTAMP}, #{item.updateBy,jdbcType=VARCHAR}, 
        #{item.updateTime,jdbcType=TIMESTAMP}, #{item.deleteTag,jdbcType=INTEGER}, #{item.preNav,jdbcType=DECIMAL}
        )
    </foreach>
  </insert>
  <insert id="insertOrUpdate" parameterType="com.tanpu.fund.entity.generator.FundNav">
    <!--@mbg.generated-->
    insert into fund_nav
    (id, fund_id, price_date, nav, cumulative_nav, cumulative_nav_withdrawal, ishigh_or_low, 
      tohigh_nav_ratio, create_by, create_time, update_by, update_time, delete_tag, pre_nav
      )
    values
    (#{id,jdbcType=VARCHAR}, #{fundId,jdbcType=VARCHAR}, #{priceDate,jdbcType=DATE}, 
      #{nav,jdbcType=DECIMAL}, #{cumulativeNav,jdbcType=DECIMAL}, #{cumulativeNavWithdrawal,jdbcType=DECIMAL}, 
      #{ishighOrLow,jdbcType=INTEGER}, #{tohighNavRatio,jdbcType=DECIMAL}, #{createBy,jdbcType=VARCHAR}, 
      #{createTime,jdbcType=TIMESTAMP}, #{updateBy,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, 
      #{deleteTag,jdbcType=INTEGER}, #{preNav,jdbcType=DECIMAL})
    on duplicate key update 
    id = #{id,jdbcType=VARCHAR}, 
    fund_id = #{fundId,jdbcType=VARCHAR}, 
    price_date = #{priceDate,jdbcType=DATE}, 
    nav = #{nav,jdbcType=DECIMAL}, 
    cumulative_nav = #{cumulativeNav,jdbcType=DECIMAL}, 
    cumulative_nav_withdrawal = #{cumulativeNavWithdrawal,jdbcType=DECIMAL}, 
    ishigh_or_low = #{ishighOrLow,jdbcType=INTEGER}, 
    tohigh_nav_ratio = #{tohighNavRatio,jdbcType=DECIMAL}, 
    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}, 
    pre_nav = #{preNav,jdbcType=DECIMAL}
  </insert>
  <insert id="insertOrUpdateSelective" parameterType="com.tanpu.fund.entity.generator.FundNav">
    <!--@mbg.generated-->
    insert into fund_nav
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="id != null">
        id,
      </if>
      <if test="fundId != null">
        fund_id,
      </if>
      <if test="priceDate != null">
        price_date,
      </if>
      <if test="nav != null">
        nav,
      </if>
      <if test="cumulativeNav != null">
        cumulative_nav,
      </if>
      <if test="cumulativeNavWithdrawal != null">
        cumulative_nav_withdrawal,
      </if>
      <if test="ishighOrLow != null">
        ishigh_or_low,
      </if>
      <if test="tohighNavRatio != null">
        tohigh_nav_ratio,
      </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>
      <if test="preNav != null">
        pre_nav,
      </if>
    </trim>
    values
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="id != null">
        #{id,jdbcType=VARCHAR},
      </if>
      <if test="fundId != null">
        #{fundId,jdbcType=VARCHAR},
      </if>
      <if test="priceDate != null">
        #{priceDate,jdbcType=DATE},
      </if>
      <if test="nav != null">
        #{nav,jdbcType=DECIMAL},
      </if>
      <if test="cumulativeNav != null">
        #{cumulativeNav,jdbcType=DECIMAL},
      </if>
      <if test="cumulativeNavWithdrawal != null">
        #{cumulativeNavWithdrawal,jdbcType=DECIMAL},
      </if>
      <if test="ishighOrLow != null">
        #{ishighOrLow,jdbcType=INTEGER},
      </if>
      <if test="tohighNavRatio != null">
        #{tohighNavRatio,jdbcType=DECIMAL},
      </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>
      <if test="preNav != null">
        #{preNav,jdbcType=DECIMAL},
      </if>
    </trim>
    on duplicate key update 
    <trim suffixOverrides=",">
      <if test="id != null">
        id = #{id,jdbcType=VARCHAR},
      </if>
      <if test="fundId != null">
        fund_id = #{fundId,jdbcType=VARCHAR},
      </if>
      <if test="priceDate != null">
        price_date = #{priceDate,jdbcType=DATE},
      </if>
      <if test="nav != null">
        nav = #{nav,jdbcType=DECIMAL},
      </if>
      <if test="cumulativeNav != null">
        cumulative_nav = #{cumulativeNav,jdbcType=DECIMAL},
      </if>
      <if test="cumulativeNavWithdrawal != null">
        cumulative_nav_withdrawal = #{cumulativeNavWithdrawal,jdbcType=DECIMAL},
      </if>
      <if test="ishighOrLow != null">
        ishigh_or_low = #{ishighOrLow,jdbcType=INTEGER},
      </if>
      <if test="tohighNavRatio != null">
        tohigh_nav_ratio = #{tohighNavRatio,jdbcType=DECIMAL},
      </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>
      <if test="preNav != null">
        pre_nav = #{preNav,jdbcType=DECIMAL},
      </if>
    </trim>
  </insert>
</mapper>