mybatis中xml配置
<if test="list != null"> AND column in //column(資料庫中的列) collection中的list是mapper介面傳遞過來的欄位(這裡是list型別的) //如果list是list<String>,item是list中的每一項, //如果list是list<Map<String,String>> item是list中的每一個map //加上jdbcType=VARCHAR,就算是空也不會報錯 null也可以傳遞 //index指定一個名字,用於表示在迭代過程中,每次迭代到的位置, //separator表示在每次進行迭代之間以什麼符號作為分隔符, //open表示該語句以什麼開始, //close表示以什麼結束, <foreach item="item" index="index" collection="list" open="(" separator="," close=")"> #{item,jdbcType=VARCHAR} //#{item.key} </foreach> </if>
parameterMap(傳入引數封裝為javaBean,對應配置檔案中javaBean的Id), resultMap(輸出引數封裝為javaBean,對應配置檔案中javaBean的Id), parameterType(傳入引數,可以是String,也可以是Map,Map中可以封裝List、Array) resultType(輸出引數,可以是Map(當是select *時也可以是Map,但是在Mapper介面中需要用List接收)) <select id="" parameterMap="" parameterType="" resultType="" resultMap="" ></select>
這裡是可以直接寫sql <![CDATA[ status != #{status} ]]> <sql id=""> <if test="id != null"> and id = #{id} </if> </sql>
//用於拼接字串 CONCAT('%', CONCAT(#{con}, '%'))