MyBatis中的多条件查询语句

采用模糊查询的方式,主要是注意写法问题

<?xml version="1.0" encoding="UTF-8" ?>  
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="fweb.commons.excel.import.template">
	
	<select id="getTemplateListByTypeIdAndName" resultType="com.hhwy.fweb.commons.excel.domain.ImportTemplate">
		SELECT
			fiet.id AS "id",
			fiet.template_key As "templateKey",
			fiet.more_Insert As "moreInsert",
			fiet.append_field AS "appendField",
			fiet.append_name AS "appendName",
			fiet.template_name AS "templateName",
			fiet.table_name AS "tableName"
			<!-- fiet.template_type_id As "templateTypeId" -->
		FROM
			fweb_import_exc_template AS fiet
		 <trim prefix="WHERE ("  suffix=")" prefixOverrides="AND |OR ">
		 <!-- <if test="templateName!=null and templateName!=''">
			 fiet.template_name LIKE CONCAT(CONCAT('%','${templateName}'),'%')
		 </if> 
		 <if test="id!=null and id!=''">
			 fiet.id=#{id}
		</if> -->
		<if test="templateName!=null and id!=null" >
		 fiet.template_name Like CONCAT(CONCAT('%','${templateName}'),'%') Or fiet.id Like CONCAT(CONCAT('%','${id}'),'%')
		</if>
		<if test="template_type_id!=null and template_type_id!=''">
			 fiet.template_type_id=#{template_type_id}
		</if>
		</trim>
		<!-- WHERE
		    -->
		ORDER BY create_time DESC
	</select>
	
</mapper>

猜你喜欢

转载自blog.csdn.net/zrcshendustudy/article/details/81474786