背景介绍:
京东的数据都是分库分表,所以为了方便全是单表操作。不存在join使用。每张表必须有表示删除与否,没有真正的删除。但是我也很奇怪,但是业务量太大了,为了方便查找和维护。所有操作都是单表。但是在分表业务中,设计同一个表多个。那么怎么打到不同的表上呢: 通过xml中拼接,实例如下
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd" >
<!--suppress inspection_null_to_primary_type_variable -->
<sqlMap namespace="ShopSsku">
<typeAlias alias="shopSsku" type="com.jd.car.domain.car.ShopSsku"/>
<typeAlias alias="queryShopSsku" type="com.jd.car.domain.car.vo.QueryShopSsku"/>
<sql id="skuColumn">
skuid, jd_shopid,jd_dealerid,shop_groupid,
productid,status ,
create_time,update_time,creator,updator,is_valid
</sql>
<sql id="queryCondition">
<dynamic prepend="">
<isNotEmpty prepend="and" property="skuid">
skuid = #skuid#
</isNotEmpty>
<isNotEmpty prepend="and" property="jd_shopid">
jd_shopid = #jd_shopid#
</isNotEmpty>
<isNotEmpty prepend="and" property="jd_dealerid">
jd_dealerid = #jd_dealerid#
</isNotEmpty>
<isNotEmpty prepend="and" property="shop_groupid">
shop_groupid = #shop_groupid#
</isNotEmpty>
<isNotEmpty prepend="and" property="productid">
productid = #productid#
</isNotEmpty>
<isNotEmpty prepend="and" property="status">
status = #status#