<insert id="insertModel" useGeneratedKeys="true" parameterType="tech.yummy.iot.base.domain.po.ModelPO"
keyColumn="id" keyProperty="id">
keyColumn="id" keyProperty="id"
在插入的时候,也会把自生长的id的值拿到。
<resultMap id="ModelEventBOMap" type="tech.yummy.iot.base.domain.bo.ModelEventBO">
<id column="id" property="id"></id>
<result column="model_id" property="modelId"/>
<result column="event_qualifier" property="eventQualifier"/>
<result column="event_name" property="eventName"/>
<result column="create_emp" property="createEmp"/>
<result column="create_time" property="createTime"/>
<!-- 型号信息-->
<collection property="eventParameterList" ofType="tech.yummy.iot.base.domain.bo.ModelEventParameterBO" javaType="java.util.List">
<id column="mep_id" property="id"></id>
<id column="event_id" property="eventId"></id>
<id column="parameter_qualifier" property="parameterQualifier"></id>
<id column="parameter_name" property="parameterName"></id>
<id column="parameter_type" property="parameterType"></id>
<id column="unit" property="unit"></id>
<id column="parameter_sequence" property="parameterSequence"></id>
<id column="accuracy" property="accuracy"></id>
<id column="crate_emp" property="createEmp"></id>
<id column="create_time" property="createTime"></id>
</collection>
</resultMap>
<select id="queryModelEventDetail" resultMap="ModelEventBOMap" parameterType="java.lang.Long">
SELECT
me.id,
me.model_id,
me.event_qualifier,
me.event_name,
mep.id as mep_id,
mep.event_id,
mep.parameter_qualifier,
mep.parameter_name,
mep.parameter_type,
mep.unit,
mep.parameter_sequence,
mep.accuracy
FROM
t_model_event me
left join t_model_event_parameter mep on me.id = mep.event_id
where me.model_id = #{modelId}
</select>
上面代码查询循环,list,去重
<insert id="bachInsertEventParameter" parameterType="java.util.List">
insert into t_model_event_parameter
( event_id , parameter_qualifier, parameter_name, parameter_type, unit,parameter_sequence,accuracy,create_emp,create_time ) values
<foreach collection="list" item="eventParameters" index="index" separator=",">
(#{eventParameters.eventId,jdbcType=BIGINT},#{eventParameters.parameterQualifier,jdbcType=VARCHAR},#{eventParameters.parameterName,jdbcType=VARCHAR},
#{eventParameters.parameterType,jdbcType=TINYINT},#{eventParameters.unit,jdbcType=VARCHAR},#{eventParameters.parameterSequence,jdbcType=TINYINT},#{eventParameters.accuracy,jdbcType=TINYINT},
#{eventParameters.createEmp,jdbcType=VARCHAR},#{eventParameters.createTime,jdbcType=TIMESTAMP})
</foreach>
</insert>
上面代码是循环插入。