直接上代码吧:
1、mapper.xml 涉及到 多left join 《where》标签 《if》标签 《foreach》标签
2、本来传入参数lawTitles包含在searchform中,但是由于要进行非空判断,导致报错,只能写到外面作为独立参数传入
SELECT
*
FROM
tc_rel_punish_unit_func AS res
LEFT JOIN tc_dic_law ON res.law_id = tc_dic_law.law_id
LEFT JOIN tc_dic_law_region ON tc_dic_law.law_region_id = tc_dic_law_region.region_id
<where>
<if test="null != lawTitles and lawTitles.size()>0">
<foreach collection="lawTitles" index="index" item="item" separator="or">
tc_dic_law.law_title like CONCAT("%", #{item}, "%")
</foreach>
</if>
<if test="null != searchForm.keyWordsForm.startTime and null != searchForm.keyWordsForm.endTime and '' != searchForm.keyWordsForm.startTime and '' != searchForm.keyWordsForm.endTime" >
and tc_dic_law.synTime between #{searchForm.keyWordsForm.startTime} and #{searchForm.keyWordsForm.endTime}
</if>
<if test="null != searchForm.keyWordsForm.region and '' != searchForm.keyWordsForm.region">
and tc_dic_law_region.region_name = #{searchForm.keyWordsForm.region}
</if>
</where>
dao
void originalToNewDataBase(SearchForm searchForm, List<String> lawTitles);