<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd" >
<sqlMap namespace="EOC_MUSIC">
 <typeAlias alias="EOC_MUSICTYPE_JSON"
 type="com.ecar.eoc.content.music.domain.music.json.MusicTypeJson" />
 <typeAlias alias="EOC_MUSICTYPE"
 type="com.ecar.eoc.content.music.domain.music.MusicType" />
 <resultMap id="EOC_MUSICTYPE_JSON_MAP" class="EOC_MUSICTYPE_JSON">
 <result column="TYPE_CODE" property="typeCode" jdbcType="VARCHAR" />
 <result column="NAME" property="name" jdbcType="VARCHAR" />
 <result column="LOGO" property="logo" jdbcType="VARCHAR" />
 </resultMap>
 <resultMap id="EOC_MUSICTYPE_MAP" class="EOC_MUSICTYPE">
 <result column="TYPE_CODE" property="typeCode" jdbcType="VARCHAR" />
 <result column="NAME" property="name" jdbcType="VARCHAR" />
 <result column="CATEGORY_CODE" property="categoryCode" jdbcType="VARCHAR" />
 <result column="CP_CODE" property="cpCode" jdbcType="VARCHAR" />
 <result column="SUPPLIER_TYPE_CODE" property="supplierTypeCode" jdbcType="VARCHAR" />
 <result column="SUPPLIER_CATEGORY_CODE" property="supplierCategoryCode" jdbcType="VARCHAR" />
 <result column="MD5" property="md5" jdbcType="VARCHAR" />
 <result column="LOGO" property="logo" jdbcType="VARCHAR" />
 <result column="NUM" property="num" jdbcType="INTEGER" />
 <result column="ORDERBY" property="orderBy" jdbcType="INTEGER" />
 <result column="RANKING" property="ranking" jdbcType="INTEGER" />
 </resultMap>
 <sql id="musicTypeWhere">
 <dynamic prepend="WHERE">
 <isNotNull prepend="and" property="typeId">
 TYPE_ID = #typeId:INTEGER#
 </isNotNull>
 <isNotNull prepend="and" property="typeCode">
 TYPE_CODE = #typeCode:VARCHAR#
 </isNotNull>
 <isNotNull prepend="and" property="name">
 NAME = #name:VARCHAR#
 </isNotNull>
 <isNotNull prepend="and" property="categoryCode">
 CATEGORY_CODE = #categoryCode:VARCHAR#
 </isNotNull> 
 <isNotNull prepend="and" property="logo">
 LOGO = #logo:VARCHAR#
 </isNotNull>
 <isNotNull prepend="and" property="cpCode">
 CP_CODE = #cpCode:VARCHAR#
 </isNotNull>
 <isNotNull prepend="and" property="supplierTypeCode">
 SUPPLIER_TYPE_CODE = #supplierTypeCode:VARCHAR#
 </isNotNull>
 <isNotNull prepend="and" property="supplierCategoryCode">
 SUPPLIER_CATEGORY_CODE = #supplierCategoryCode:VARCHAR#
 </isNotNull>
 <isNotNull prepend="and" property="isValid">
 IS_VALID = #isValid:VARCHAR#
 </isNotNull>
 <isNotNull prepend="and" property="md5">
 MD5 = #md5:VARCHAR#
 </isNotNull>
 <isNotNull prepend="and" property="createTime">
 CREATE_TIME = #createTime:DATE#
 </isNotNull>
 <isNull prepend="and" property="ranking">
 RANKING IS NULL
 </isNull>
 <isNotNull prepend="and" property="ranking">
 RANKING = #ranking:INTEGER#
 </isNotNull>
 ORDER BY ORDERBY 
 </dynamic>
 </sql>
 <select id="findAllMusicType" resultMap="EOC_MUSICTYPE_JSON_MAP" parameterClass="java.util.HashMap">
 select m.TYPE_CODE,m.NAME,m.LOGO 
 from EOC_CONTENT_MUSIC_TYPE m
 where m.CP_CODE=#coCode:VARCHAR# and m.IS_VALID = #isValid:VARCHAR#
 </select>
 <select id="findMusicTypeByTypeCode" resultMap="EOC_MUSICTYPE_MAP" parameterClass="java.util.HashMap">
 select m.TYPE_CODE,m.NAME,m.CATEGORY_CODE,m.CP_CODE,m.SUPPLIER_TYPE_CODE,m.SUPPLIER_CATEGORY_CODE,m.MD5,m.NUM
 from EOC_CONTENT_MUSIC_TYPE m
 where m.TYPE_CODE=#typeCode:VARCHAR# and m.IS_VALID = #isValid:VARCHAR#
 </select>
 <select id="findMusicTypeByCpCode" resultMap="EOC_MUSICTYPE_MAP" parameterClass="java.util.HashMap">
 select m.TYPE_CODE,m.NAME,m.CATEGORY_CODE,m.CP_CODE,m.SUPPLIER_TYPE_CODE,m.SUPPLIER_CATEGORY_CODE,m.MD5,m.NUM
 from EOC_CONTENT_MUSIC_TYPE m
 where m.CP_CODE=#cpCode:VARCHAR# and m.IS_VALID = #isValid:VARCHAR#
 </select>
 <update id="updateMusicTypeMd5" parameterClass="java.util.HashMap">
 UPDATE EOC_CONTENT_MUSIC_TYPE
 SET MD5=#md5:VARCHAR#
 WHERE TYPE_CODE =#typeCode:VARCHAR#
 </update>
 <select id="musictype_selectByObject" parameterClass="EOC_MUSICTYPE" resultMap="EOC_MUSICTYPE_MAP">
 select TYPE_ID, TYPE_CODE, NAME, CATEGORY_CODE, LOGO, CP_CODE, SUPPLIER_TYPE_CODE,SUPPLIER_CATEGORY_CODE, IS_VALID, MD5, CREATE_TIME,NUM,RANKING,ORDERBY
 from EOC_CONTENT_MUSIC_TYPE
 <include refid="musicTypeWhere"/>
 LIMIT 20
 </select>
 <select id="MusicType_count_max" resultClass="java.lang.Integer" >
 SELECT (MAX(TYPE_CODE)+1) COUNT FROM EOC_CONTENT_MUSIC_TYPE
 </select>
 <delete id="deleteMusic_type" parameterClass="com.ecar.eoc.content.music.domain.music.MusicType">
 DELETE FROM `EOC_CONTENT_MUSIC_TYPE` 
 <include refid="musicTypeWhere"/>
 </delete>
 <insert id="insert_music_type" parameterClass="EOC_MUSICTYPE">
 INSERT INTO EOC_CONTENT_MUSIC_TYPE
 <dynamic prepend="("> 
 <isNotNull prepend="," property="typeId">
 TYPE_ID
 </isNotNull>
 <isNotNull prepend="," property="typeCode">
 TYPE_CODE
 </isNotNull>
 <isNotEmpty prepend="," property="name">
 NAME
 </isNotEmpty>
 <isNotEmpty prepend="," property="categoryCode">
 CATEGORY_CODE
 </isNotEmpty>
 <isNotEmpty prepend="," property="logo">
 LOGO
 </isNotEmpty>
 <isNotEmpty prepend="," property="cpCode">
 CP_CODE
 </isNotEmpty>
 <isNotEmpty prepend="," property="supplierTypeCode">
 SUPPLIER_TYPE_CODE
 </isNotEmpty>
 <isNotEmpty prepend="," property="supplierCategoryCode">
 SUPPLIER_CATEGORY_CODE
 </isNotEmpty>
 <isNotEmpty prepend="," property="isValid">
 IS_VALID
 </isNotEmpty>
 <isNotEmpty prepend="," property="md5">
 MD5
 </isNotEmpty>
 <isNotEmpty prepend="," property="orderBy">
 ORDERBY
 </isNotEmpty>
 <isNotEmpty prepend="," property="num">
 NUM
 </isNotEmpty>
 <isNotEmpty prepend="," property="ranking">
 RANKING
 </isNotEmpty>
 <isNotEmpty prepend="," property="createTime">
 CREATE_TIME 
 </isNotEmpty>
 )
 </dynamic>
 values
 <dynamic prepend="(">
 <isNotNull prepend="," property="typeId">
 #typeId:INTEGER#
 </isNotNull>
 <isNotEmpty prepend="," property="typeCode">
 #typeCode:VARCHAR#
 </isNotEmpty>
 <isNotEmpty prepend="," property="name">
 #name:VARCHAR#
 </isNotEmpty>
 <isNotNull prepend="," property="categoryCode">
 #categoryCode:VARCHAR#
 </isNotNull>
 <isNotEmpty prepend="," property="logo">
 #logo:VARCHAR#
 </isNotEmpty>
 <isNotEmpty prepend="," property="cpCode">
 #cpCode:VARCHAR#
 </isNotEmpty>
 <isNotNull prepend="," property="supplierTypeCode">
 #supplierTypeCode:VARCHAR#
 </isNotNull>
 <isNotEmpty prepend="," property="supplierCategoryCode">
 #supplierCategoryCode:VARCHAR#
 </isNotEmpty>
 <isNotEmpty prepend="," property="isValid">
 #isValid:VARCHAR#
 </isNotEmpty>
 <isNotNull prepend="," property="md5">
 #md5:VARCHAR#
 </isNotNull>
 <isNotEmpty prepend="," property="orderBy">
 #orderBy:INTEGER#
 </isNotEmpty>
 <isNotEmpty prepend="," property="num">
 #num:INTEGER#
 </isNotEmpty>
 <isNotEmpty prepend="," property="ranking">
 #ranking:INTEGER#
 </isNotEmpty>
 <isNotEmpty prepend="," property="createTime">
 #createTime:DATE#
 </isNotEmpty>
 )
 </dynamic>
 <selectKey resultClass="java.lang.Integer">
 SELECT LAST_INSERT_ID()
 </selectKey>
 </insert>
 </sqlMap>