Browse Source

!170 sharding插件补充注释,移除无用代码
Merge pull request !170 from zengzhihong/3.0

青苗 4 years ago
parent
commit
51f87a5594

+ 9 - 1
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/plugins/inner/ShardingInnerInterceptor.java

@@ -42,10 +42,17 @@ import org.apache.ibatis.mapping.ParameterMode;
 import org.apache.ibatis.reflection.MetaObject;
 
 import java.sql.Connection;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
+ * 分表拦截器
+ * <p>不支持带参数子查询 不支持复杂SQL 单个Statement只能返回一个真实表名</p>
+ *
  * @author zengzhihong
  * @since 2021-01-14
  */
@@ -61,6 +68,7 @@ public class ShardingInnerInterceptor extends JsqlParserSupport implements Inner
     public void beforePrepare(StatementHandler sh, Connection connection, Integer transactionTimeout) {
         PluginUtils.MPStatementHandler mpSh = PluginUtils.mpStatementHandler(sh);
         final Executor executor = mpSh.executor();
+        // BatchExecutor或者ReuseExecutor 由beforeGetBoundSql方法已经处理过了
         if (executor instanceof BatchExecutor || executor instanceof ReuseExecutor) {
             return;
         }

+ 0 - 76
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/sharding/ShardingTest.java

@@ -70,82 +70,6 @@ public class ShardingTest extends BaseDbTest<ShardingOrderMapper> {
         });
     }
 
-//    @Test
-//    void insertBatchTest() {
-//        ShardingOrder shardingOrder1 =
-//            new ShardingOrder().setOrderId(1L).setSubject("test1").setCreateTime(date1);
-//        ShardingOrder shardingOrder2 =
-//            new ShardingOrder().setOrderId(2L).setSubject("test2").setCreateTime(date2);
-//        ShardingOrder shardingOrder3 =
-//            new ShardingOrder().setOrderId(3L).setSubject("test3").setCreateTime(date3);
-//        List<ShardingOrder> list = new ArrayList<>();
-//        list.add(shardingOrder1);
-//        list.add(shardingOrder2);
-//        list.add(shardingOrder3);
-//        String sqlStatement = SqlHelper.getSqlStatement(ShardingOrderMapper.class, SqlMethod.INSERT_ONE);
-//        SqlHelper.executeBatch(ShardingOrder.class, log, list, 1000,
-//            (sqlSession, entity) -> sqlSession.insert(sqlStatement, entity));
-//
-//    }
-
-//    @Test
-//    void selectTest() {
-//        insertBatchTest();
-//        shardingOrderMapper.selectPage(new Page<>(),
-//            Wrappers.<ShardingOrder>lambdaQuery().eq(ShardingOrder::getOrderId, 1L));
-//
-//        Map<String, Object> params = new HashMap<>();
-//        params.put("order_id", 1L);
-//        params.put("create_time", date1);
-//        shardingOrderMapper.selectByMap(params);
-//
-//        shardingOrderMapper.selectById(1L);
-//
-//        shardingOrderMapper.selectList(Wrappers.<ShardingOrder>lambdaQuery().eq(ShardingOrder::getCreateTime, date1)
-//            .in(ShardingOrder::getOrderId, Arrays.asList(1L, 2L)));
-//
-//        shardingOrderMapper.selectMaps(Wrappers.<ShardingOrder>lambdaQuery().in(ShardingOrder::getOrderId, 3L
-//        ).eq(ShardingOrder::getCreateTime,
-//            date1));
-//
-//        shardingOrderMapper.selectBatchIds(Arrays.asList(1L, 2L));
-//
-//        final Integer count =
-//            shardingOrderMapper.selectCount(Wrappers.<ShardingOrder>lambdaQuery().eq(ShardingOrder::getOrderId, 1L
-//            ).eq(ShardingOrder::getCreateTime,
-//                date1));
-//
-//        shardingOrderMapper.selectMapsPage(new Page<>(),
-//            Wrappers.<ShardingOrder>lambdaQuery().eq(ShardingOrder::getOrderId, 1L));
-//
-//        shardingOrderMapper.selectOne(Wrappers.<ShardingOrder>lambdaQuery().eq(ShardingOrder::getOrderId, 1L));
-//
-//        shardingOrderMapper.selectPage(new Page<>(),
-//            Wrappers.<ShardingOrder>lambdaQuery().eq(ShardingOrder::getOrderId, 1L));
-//
-//    }
-//
-//
-//    @Test
-//    void updateTest() {
-//        ShardingOrder order = new ShardingOrder();
-//        order.setOrderId(1L);
-//        order.setSubject("66");
-//        shardingOrderMapper.update(order, Wrappers.<ShardingOrder>lambdaQuery().eq(ShardingOrder::getOrderId, 1L));
-//        shardingOrderMapper.updateById(order);
-//    }
-//
-//    @Test
-//    void deleteTest() {
-//        shardingOrderMapper.delete(Wrappers.<ShardingOrder>lambdaQuery().eq(ShardingOrder::getOrderId, 1L));
-//        shardingOrderMapper.deleteById(1L);
-//        shardingOrderMapper.deleteBatchIds(Arrays.asList(1L, 2L));
-//        Map<String, Object> params = new HashMap<>();
-//        params.put("order_id", 1L);
-//        shardingOrderMapper.deleteByMap(params);
-//    }
-
-
     @Override
     protected List<Interceptor> interceptors() {
         MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();