iterate标签--ibatis
项目用的是ibatis-2.3.4.726,不是mybatis。
?
一、我的应用
1.TCommission.xml (用iterate合成 in语句)
<select id="queryMap" parameterresultAND " property="productNum">T1.PRODUCT_NUM = #productNum# </isNotEmpty><isNotEmpty prepend=" AND " property="typeNum">T1.TYPE_NUM = #typeNum# </isNotEmpty><isNotEmpty prepend=" AND " property="fastCommission">T1.FAST_COMMISSION = #fastCommission# </isNotEmpty><isNotEmpty prepend=" AND " property="normCommission">T1.NORM_COMMISSION = #normCommission# </isNotEmpty><isNotEmpty prepend=" AND " property="createDate">T1.CREATE_DATE = #createDate# </isNotEmpty><isNotEmpty prepend=" AND " property="employeeId">T1.EMPLOYEE_ID = #employeeId# </isNotEmpty><isNotEmpty prepend=" AND " property="alterDate">T1.ALTER_DATE = #alterDate# </isNotEmpty><isNotEmpty prepend=" AND " property="otherFastCommission">T1.OTHER_FAST_COMMISSION = #otherFastCommission# </isNotEmpty><isNotEmpty prepend=" AND " property="otherNormCommission">T1.OTHER_NORM_COMMISSION = #otherNormCommission# </isNotEmpty><isNotEmpty prepend=" AND " property="money">T1.MONEY = #money# </isNotEmpty><isNotEmpty prepend=" AND " property="fastPrice">T1.FAST_PRICE = #fastPrice# </isNotEmpty><isNotEmpty prepend=" AND " property="normPrice">T1.NORM_PRICE = #normPrice# </isNotEmpty><isNotEmpty prepend=" AND " property="allFastCommission">T1.ALL_FAST_COMMISSION = #allFastCommission# </isNotEmpty><isNotEmpty prepend=" AND " property="allNormCommission">T1.ALL_NORM_COMMISSION = #allNormCommission# </isNotEmpty><isNotEmpty prepend=" AND " property="otherFastPrice">T1.OTHER_FAST_PRICE = #otherFastPrice# </isNotEmpty><isNotEmpty prepend=" AND " property="otherNormPrice">T1.OTHER_NORM_PRICE = #otherNormPrice# </isNotEmpty><isNotEmpty prepend=" AND " property="allFastPrice">T1.ALL_FAST_PRICE = #allFastPrice# </isNotEmpty><isNotEmpty prepend=" AND " property="allNormPrice">T1.ALL_NORM_PRICE = #allNormPrice# </isNotEmpty><isNotEmpty prepend=" AND " property="areaCode">T2.AREA_CODE = #areaCode# </isNotEmpty><isNotEmpty prepend=" AND " property="provinceCode">T2.PROVINCE_CODE = #provinceCode# </isNotEmpty><isNotEmpty prepend=" AND " property="operatorsCode">T2.OPERATORS_CODE = #operatorsCode# </isNotEmpty><isNotEmpty prepend=" AND " property="myMoneys">T1.MONEY IN<iterate property="myMoneys" open="(" close=")" conjunction=","> #myMoneys[]#</iterate></isNotEmpty></dynamic><include refid="paginationEnd"/></select>?2.TCommission.java (model实体,定义Double数组myMoneys)
public class TCommission extends BaseModel{// : PRODUCT_NUM private String productNum; // : TYPE_NUM private String typeNum; // : FAST_COMMISSION private java.lang.Double fastCommission; // : NORM_COMMISSION // : FAST_PRICE private java.lang.Double fastPrice; private String productName;//产品名称private String typeName;//策略名称private String areaCode;//区号private String provinceCode;//省号private String operatorsCode;//运营商private Double[] myMoneys;//面值数组?
二、转载lwy内容
1.
<iterate property="states" open="(" close=")" conjunction="OR"> <isNotEqual compareValue="1" property="states[]"> STATE=#states[]# </isNotEqual> <isEqual compareValue="1" property="states[]"> STATE not in('0','-1') </isEqual> </iterate>?取循环中的值property与给定值compareValue 作比较 动态拼劲sql,
此例中states为String[],若states为List<?> 可用states[].xxx取值。
iterate标签还有个compareProperty属性,猜测为与某字段对比(未测试)。
?
2.
<isNotEmpty prepend=" AND " property="operators"> OPERATORS_CODE in <iterate property="operators" open="(" close=")" conjunction=","> #operators[]# </iterate> </isNotEmpty>?
?
?
?