<?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" ><mappernamespace="com.cyk.mapper.AddressesMapper"><!--//where和if标签的使用--><!--where可以消除多余的and,所以sql语句统一加上and--><selectid="queryByCountryCity"resultType="com.cyk.pojo.Addresses">
select * from mybatis3.addresses
<where><iftest="country != null and country != ''">
and country = #{country}
</if><iftest="city != null">
and city = #{city}
</if></where></select><!--//set标签--><updateid="update">
update addresses
<set><iftest="country != null and country != ''">
country = #{country},
</if><iftest="city != null and city != ''">
city = #{city},
</if><iftest="street != null and street != ''">
street = #{street},
</if><iftest="state != null and state != ''">
state = #{state},
</if><iftest="zip != null and zip != ''">
zip = #{zip}
</if></set><where>
ADDR_ID = #{addrId}
</where></update><!--//choose标签--><selectid="query"resultType="com.cyk.pojo.Addresses">
select * from mybatis3.addresses
<where><choose><whentest="country != null">
and country = #{country}
</when><whentest="state != null">
and state = #{state}
</when><otherwise>
and city = #{city}
</otherwise></choose></where></select><selectid="queryTrim"resultType="com.cyk.pojo.Addresses">
select * from mybatis3.addresses
<trimprefix="where"suffixOverrides="and"><iftest="country != null and country != ''">
country = #{country} and
</if><iftest="city != null and city != ''">
city = #{city} and
</if><iftest="street != null and street != ''">
street = #{street} and
</if><iftest="state != null and state != ''">
state = #{state} and
</if><iftest="zip != null and zip != ''">
zip = #{zip} and
</if></trim></select><!--foreach标签--><selectid="queryByIds"resultType="com.cyk.pojo.Addresses">
select * from mybatis3.addresses
<where>
addr_id in
<foreachcollection="list"open="("close=")"item="i"separator=",">
#{i}
</foreach></where></select><selectid="queryLike"resultType="com.cyk.pojo.Addresses"><!--方案一--><!--select * from mybatis3.addresses
where city like #{city};--><!--方案二--><!--select * from mybatis3.addresses
where city like concat('%',#{city},'%');--><bindname="_city"value="'%'+city+'%'"/>
select * from mybatis3.addresses
where city like #{_city};
</select><sqlid="baseColumn">
country,state,city
</sql><selectid="ListAll"resultType="com.cyk.pojo.Addresses">
select <includerefid="baseColumn"/> from mybatis3.addresses
</select></mapper>