ibatisファジイクエリsqlmap-mapping-**.xml構成

1724 ワード

通常ibatisのsqlmap-mapping-*を書きます.xmlファイルの場合、入力されたパラメータはすべて##で表示され、以下のようになります.
<resultMap id="personInfo" class="com.bijian.study.dto.PersonDTO">
	<result property="name" column="person_name"></result>
	<result property="age" column="person_age"></result>
	<result property="sex" column="person_sex"></result>
</resultMap>
<select id="getPersonListByCodeAndName" parameterClass="java.util.Map" resultMap="personInfo">
      SELECT 
	person_name,
     	person_age,
     	person_sex
      FROM person_info
      WHERE person_code = #personCode#
      <isNotEmpty prepend="AND" property="personName">  
  	person_name = #personName#
      </isNotEmpty>
</select>

しかしlikeの場合、###は使えません.$が必要です.次のようになります.
<resultMap id="personInfo" class="com.bijian.study.dto.PersonDTO">
	<result property="name" column="person_name"></result>
	<result property="age" column="person_age"></result>
	<result property="sex" column="person_sex"></result>
</resultMap>
<select id="getPersonListByName" parameterClass="java.lang.String" resultMap="personInfo">
      SELECT 
		person_name,
     		person_age,
     		person_sex
      FROM person_info
      WHERE person_name like '%$brandName$%'
</select>