一、直接在service层处理拼接代码,实现多数据库平台迁移
<select id="selectForPage" resultMap="BaseResultMap" parameterType="com.csii.loan.common.model.sys.Select">
SELECT
<include refid="Base_Column_List"/>
FROM sys_select s
<where>
<if test="selectName!=null">
AND s.select_name LIKE #{selectName,jdbcType=VARCHAR}
</if>
<if test="id!=null">
AND s.id=#{id,jdbcType=VARCHAR}
</if>
<if test="selectKey!=null">
AND s.select_key LIKE #{selectKey,jdbcType=VARCHAR}
</if>
</where>
</select>
AND s.select_name LIKE #{selectName,jdbcType=VARCHAR}
AND s.select_key LIKE #{selectKey,jdbcType=VARCHAR}
模糊查询sql语句
/** * 将字符串的拼接放到service层 * @param select * @param pager * @return */ @Override public PageList<Select> findSelectListForPage(Select select, PageBounds pager) { //取出selectName数据在service拼接 String selectName = select.getSelectName(); if (StringUtils.isNoneBlank(selectName)){ select.setSelectName("%"+selectName+"%"); } String selectKey = select.getSelectKey(); if (StringUtils.isNoneBlank(selectKey)){ select.setSelectName("%"+selectKey+"%"); } return selectMapper.selectForPage(select, pager); }在service层修改拼接的代码
二、直接在 *.xml中修改的代码
三、大神徐老师的指导: