<insert id="insertSelective" parameterType="cn.showclear.utio.plan.pojo.plan.PlanDeGroup" useGeneratedKeys="true" keyProperty="groupId">
insert into T_PLAN_DE_GROUP
...
</insert>
自定义构造对象返回
<!--预案组对象-->
<resultMap id="PlanGroupVOResultMap" type="cn.showclear.utio.plan.pojo.plan.PlanDeGroup" >
<id column="group_id" jdbcType="INTEGER" property="groupId" javaType="java.lang.Integer" />
<result column="group_name" jdbcType="VARCHAR" property="groupName" javaType="java.lang.String" />
<result column="group_work_scope" jdbcType="VARCHAR" property="groupWorkScope" javaType="java.lang.String" />
<result column="is_delete" jdbcType="TINYINT" property="isDelete" javaType="java.lang.Byte" />
<result column="gmt_create" jdbcType="TIMESTAMP" property="gmtCreate" javaType="java.util.Date" />
<result column="gmt_update" jdbcType="TIMESTAMP" property="gmtUpdate" javaType="java.util.Date" />
<result column="plan_id" jdbcType="INTEGER" property="planId" javaType="java.lang.Integer" />
<result column="mem_ids" jdbcType="VARCHAR" property="memIds" javaType="java.lang.String" />
</resultMap>
<!--查询预案组-->
<select id="loadPlanGroupList" resultMap="PlanGroupVOResultMap">
SELECT
pdg.*,
GROUP_CONCAT(pdm.member_id) AS mem_ids
FROM
T_PLAN_DE_GROUP pdg
LEFT JOIN
T_PLAN_DE_MEMBER pdm
ON pdg.group_id = pdm.group_id
WHERE pdg.is_delete = 0
AND pdm.is_delete = 0
AND pdg.plan_id = #{planId,jdbcType=INTEGER}
GROUP BY pdg.group_id
</select>
自定义参数
/**
* 加载预案响应信息
* @param respLevel
* @param planId
* @return
*/
PlanDeRespone loadPlanRespBasicInfo(@Param("planId") Integer planId,@Param("respLevel") Byte respLevel);
<!--加载预案响应信息-->
<!--自定义对象Map-->
<resultMap id="PlanRespResultMap" type="cn.showclear.utio.plan.pojo.plan.PlanDeRespone" >
<id column="resp_id" jdbcType="INTEGER" javaType="java.lang.Integer" property="respId"/>
<result column="resp_name" jdbcType="VARCHAR" javaType="java.lang.String" property="respName"/>
<result column="resp_level" jdbcType="TINYINT" javaType="java.lang.Byte" property="respLevel"/>
<result column="resp_used_scope" jdbcType="VARCHAR" javaType="java.lang.String" property="respUsedScope"/>
<result column="verify_userids" jdbcType="VARCHAR" javaType="java.lang.String" property="verifyUserids"/>
<result column="is_delete" jdbcType="TINYINT" javaType="java.lang.Byte" property="isDelete"/>
<result column="gmt_create" jdbcType="TIMESTAMP" javaType="java.util.Date" property="gmtCreate"/>
<result column="gmt_update" jdbcType="TIMESTAMP" javaType="java.util.Date" property="gmtUpdate"/>
<result column="plan_id" jdbcType="INTEGER" property="planId" javaType="java.lang.Integer" />
</resultMap>
<select id="loadPlanRespBasicInfo" resultMap="PlanRespResultMap">
select
*
from T_PLAN_DE_RESPONE
where plan_id = #{planId,jdbcType=INTEGER}
AND resp_level = #{respLevel,jdbcType=TINYINT}
AND is_delete = 0
</select>
报错:
Parameter ‘respLevel’ not found. Available parameters are [1, 0, param1, param2]
> 解决方法:
<select id="loadPlanRespBasicInfo" resultMap="PlanRespResultMap">
select
*
from T_PLAN_DE_RESPONE
where plan_id = #{0}
AND resp_level = #{1}
AND is_delete = 0
</select>
>数字与传入参数的位置下标保持一致!
for循环实现 IN(…)
> mapper层
/***
* 根据resIds字符串(逗号分隔)查询AmsvGeRes集合
* @param resIds
* @return
* @throws Exception
*/
List<AmsvGeRes> selectListByResIds(String[] resIds) throws Exception;
> mapper-sql层
<select id="selectListByResIds" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from T_GE_RES
where res_id IN
<foreach item="item" index="index" collection="array" open="(" separator="," close=")">
#{item}
</foreach>
</select>