首页 > 代码库 > MyBatis总结
MyBatis总结
1.insert后 主键的使用
<insert id="insert" parameterType="cn.QualitySupervision.model.Projectinformation" useGeneratedKeys="true" keyProperty="projectnaid">
insert into projectinformation (projectnaid, projectname, projecttype,
project_status, divide_status, investment,
engineeringstatus, projectsite, subordinatejurisdiction,
declarationorgan, startorgan, approvalnumber,
approvaltime, schedule, approvalmoney,
qualityorganname, qualityorganaddress,
starttime, endtime, idpath,
userId, construction_content, memo,
lpoint, rpoint, delete_flag,
is_end, is_append, is_acceptance,
is_supervision_plan, is_sampling_plan, is_supervision_check,
is_rectify_report, is_check_approval, is_intermediate,
is_completion_acceptance, project_status_dictionary
)
values (#{projectnaid,jdbcType=INTEGER}, #{projectname,jdbcType=VARCHAR}, #{projecttype,jdbcType=INTEGER},
#{projectStatus,jdbcType=INTEGER}, #{divideStatus,jdbcType=INTEGER}, #{investment,jdbcType=VARCHAR},
#{engineeringstatus,jdbcType=INTEGER}, #{projectsite,jdbcType=VARCHAR}, #{subordinatejurisdiction,jdbcType=INTEGER},
#{declarationorgan,jdbcType=VARCHAR}, #{startorgan,jdbcType=VARCHAR}, #{approvalnumber,jdbcType=VARCHAR},
#{approvaltime,jdbcType=DATE}, #{schedule,jdbcType=VARCHAR}, #{approvalmoney,jdbcType=DOUBLE},
#{qualityorganname,jdbcType=VARCHAR}, #{qualityorganaddress,jdbcType=VARCHAR},
#{starttime,jdbcType=DATE}, #{endtime,jdbcType=DATE}, #{idpath,jdbcType=VARCHAR},
#{userid,jdbcType=INTEGER}, #{constructionContent,jdbcType=VARCHAR}, #{memo,jdbcType=VARCHAR},
#{lpoint,jdbcType=VARCHAR}, #{rpoint,jdbcType=VARCHAR}, #{deleteFlag,jdbcType=INTEGER},
#{isEnd,jdbcType=INTEGER}, #{isAppend,jdbcType=INTEGER}, #{isAcceptance,jdbcType=INTEGER},
#{isSupervisionPlan,jdbcType=INTEGER}, #{isSamplingPlan,jdbcType=INTEGER}, #{isSupervisionCheck,jdbcType=INTEGER},
#{isRectifyReport,jdbcType=INTEGER}, #{isCheckApproval,jdbcType=INTEGER}, #{isIntermediate,jdbcType=INTEGER},
#{isCompletionAcceptance,jdbcType=INTEGER}, #{projectStatusDictionary,jdbcType=INTEGER}
)
</insert>
2. 时间区间查询的使用
<if test="startTime != null and startTime != ‘‘">
<!-- and apply_time >= #{startTime,jdbcType=TIMESTAMP} -->
<![CDATA[and date_format(starttime,‘%Y-%m-%d‘)>=date_format(#{startTime},‘%Y-%m-%d‘)]]>
</if>
<if test="endTime != null and endTime != ‘‘">
<!-- and apply_time >= #{startTime,jdbcType=TIMESTAMP} -->
<![CDATA[and date_format(starttime,‘%Y-%m-%d‘)<=date_format(#{endTime},‘%Y-%m-%d‘)]]>
</if>
3.模糊查询的使用
<if test="projectname != null and projectname != ‘‘">
and pjf.projectname like ‘%${projectname}%‘
</if>
4.批量添加数据
<insert id="insertList">
insert into acceptance_check
( id, project_id, project_type, check_user_id, check_date,
check_status, quality_level, conclusion, competent_desc, accreditation,
idpath,acceptance_check_status,part_unit_num,finished_unit_num,great_unit_num
)
<foreach collection="list" index="index" item="item" separator="union all">
select
#{item.id},
#{item.projectId},
#{item.projectType},
#{item.checkUserId},
#{item.checkDate},
#{item.checkStatus},
#{item.qualityLevel},
#{item.conclusion},
#{item.competentDesc},
#{item.accreditation},
#{item.idpath} ,
#{item.acceptanceCheckStatus},
#{item.partUnitNum},
#{item.finishedUnitNum},
#{item.greatUnitNum}
from dual
</foreach>
</insert>
后台java dao层代码 void insertList(@Param("list")List<AcceptanceCheck> list);
MyBatis总结