一、Ibatis常用动态sql语法,简单粗暴用一例子
<select id="iBatisSelectList" parameterClass="java.util.HashMap" resultMap="BeanFieldMap">
SELECT
Column_list
FROM
Table_name
WHERE 1=1
<isNotEmpty prepend="and" property="areacode">
areaCodes like concat('%', #areacode#, '%')
</isNotEmpty>
<isNotEmpty property="types" prepend="and">
<iterate property="types" open="(" conjunction="or" close=")">
type like concat('%',#types[]#,'%')
</iterate>
</isNotEmpty>
<isNotEmpty property="datestart" prepend="and">
inputDate <![CDATA[>]]> #datestart#
</isNotEmpty>
<isNotEmpty property="dateend" prepend="and">
inputDate <![CDATA[<]]> #dateend#
</isNotEmpty>
<isEqual property="order" compareva lue="asc">
order by inputDate asc limit #skipCount#,#pageSize#
</isEqual>
<isEqual property="order" compareva lue="desc">
order by inputDate desc limit #skipCount#,#pageSize#
</isEqual>
</select>
其中java中对应的
public List<T> selectLis(String areacode,String type,String datestart,String dateend,Integer skipCount,String order,Integer pageSize){
Map<String, Object> params = new HashMap<String, Object>();
params.put("areacode", areacode);
if(type.indexOf(",")>=0){ //type字符串多个以,隔开
String[] types = type.split(",");
&