diff --git a/whatsmars-dbrouter/src/main/java/com/whatsmars/dbrouter/demo/BaseDO.java b/whatsmars-dbrouter/src/main/java/com/whatsmars/dbrouter/demo/BaseDO.java index ed837f3ada45a7c97d51cf888f5ad470b02f40f1..1437daf29309373ca44ecf0e5858315cf6e5a5a5 100644 --- a/whatsmars-dbrouter/src/main/java/com/whatsmars/dbrouter/demo/BaseDO.java +++ b/whatsmars-dbrouter/src/main/java/com/whatsmars/dbrouter/demo/BaseDO.java @@ -1,5 +1,7 @@ package com.whatsmars.dbrouter.demo; +import com.whatsmars.dbrouter.DbContext; + /** * Created by shenhongxi on 16/7/16. */ @@ -28,10 +30,12 @@ public class BaseDO { } public String getTableIndex() { - return tableIndex; + if (tableIndex != null && !"".equals(tableIndex)) return tableIndex; + return DbContext.getTableIndex(); } public void setTableIndex(String tableIndex) { this.tableIndex = tableIndex; + DbContext.setTableIndex(tableIndex); } } diff --git a/whatsmars-dbrouter/src/main/java/com/whatsmars/dbrouter/demo/Main.java b/whatsmars-dbrouter/src/main/java/com/whatsmars/dbrouter/demo/Main.java index fbb95c0255c9bab6d5db302a0d85d5859513a70a..b06e1a9e77de86ae526176e03b4f3c07116db33d 100644 --- a/whatsmars-dbrouter/src/main/java/com/whatsmars/dbrouter/demo/Main.java +++ b/whatsmars-dbrouter/src/main/java/com/whatsmars/dbrouter/demo/Main.java @@ -1,6 +1,5 @@ package com.whatsmars.dbrouter.demo; -import com.whatsmars.dbrouter.DbContext; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; @@ -18,6 +17,5 @@ public class Main { addOrderReq.setUserId("jd123456789"); addOrderReq.setAmount(new BigDecimal(1000)); orderService.addOrder(addOrderReq); - System.out.println(DbContext.getDbKey() + ":" + DbContext.getTableIndex()); } } diff --git a/whatsmars-dbrouter/src/main/java/com/whatsmars/dbrouter/demo/OrderService.java b/whatsmars-dbrouter/src/main/java/com/whatsmars/dbrouter/demo/OrderService.java index 1a3735b3d798796488a0a31e03082b57e2d278c1..7f7a8f88c564031233a79aabf1da6d3f93c4fb89 100644 --- a/whatsmars-dbrouter/src/main/java/com/whatsmars/dbrouter/demo/OrderService.java +++ b/whatsmars-dbrouter/src/main/java/com/whatsmars/dbrouter/demo/OrderService.java @@ -1,5 +1,6 @@ package com.whatsmars.dbrouter.demo; +import com.whatsmars.dbrouter.DbContext; import com.whatsmars.dbrouter.DbRoute; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -19,6 +20,8 @@ public class OrderService { order.setUserId(req.getUserId()); order.setOrderId(order.getUserId() + System.currentTimeMillis()); order.setAmount(req.getAmount()); + System.out.println(DbContext.getDbKey() + ":" + DbContext.getTableIndex()); + order.setTableIndex(DbContext.getTableIndex()); orderDao.insert(order); } } diff --git a/whatsmars-dbrouter/src/main/resources/sqlmap/Order-mapper.xml b/whatsmars-dbrouter/src/main/resources/sqlmap/Order-mapper.xml index 89e674cc747b0826845759c5729521f3862d9270..192b88a60779524a8fc9dc6110f4ec880046426b 100644 --- a/whatsmars-dbrouter/src/main/resources/sqlmap/Order-mapper.xml +++ b/whatsmars-dbrouter/src/main/resources/sqlmap/Order-mapper.xml @@ -7,7 +7,7 @@