Reuse PreparedStatement cause cache of route result do not clean
Please answer these questions before submitting your issue. Thanks!

### Which version of Sharding-Jdbc do you using?
1.5.3
### Expected behavior
使用mybaits作为orm框架
开启spring事物支持时，在mybaits的settings中将defaultExecutorType设置为REUSE,
在同一个事物中查询时，即使路由不同的表查询正常
### Actual behavior
开启事物
路由到同一张表是则查询正常，路由不同的表则异常
### Steps to reproduce the behavior
1.启动项目
2Controller包下的的方法
3.点击控制台打印的路径 http://localhot:8081/select
若想不产生这个bug可以采取如下两种方法之一
1.关闭事物
2.开启事物则需将mybatisConfig.xml的defaultExecutorType设置为SIMPLE

### Please provide the reproduce example codes (such as github link) if possible.
https://git.oschina.net/lxhs/com.study.demo.git
diff --git a/sharding-jdbc/src/main/java/io/shardingsphere/core/jdbc/core/statement/ShardingPreparedStatement.java b/sharding-jdbc/src/main/java/io/shardingsphere/core/jdbc/core/statement/ShardingPreparedStatement.java
index ea4e92a00b1..83d11abbf82 100644
--- a/sharding-jdbc/src/main/java/io/shardingsphere/core/jdbc/core/statement/ShardingPreparedStatement.java
+++ b/sharding-jdbc/src/main/java/io/shardingsphere/core/jdbc/core/statement/ShardingPreparedStatement.java
@@ -129,6 +129,7 @@ public final class ShardingPreparedStatement extends AbstractShardingPreparedSta
     
     @Override
     public ResultSet executeQuery() throws SQLException {
+        routedStatements.clear();
         ResultSet result;
         try {
             Collection<PreparedStatementUnit> preparedStatementUnits = route();
@@ -150,6 +151,7 @@ public final class ShardingPreparedStatement extends AbstractShardingPreparedSta
     
     @Override
     public int executeUpdate() throws SQLException {
+        routedStatements.clear();
         try {
             Collection<PreparedStatementUnit> preparedStatementUnits = route();
             return new PreparedStatementExecutor(
@@ -164,6 +166,7 @@ public final class ShardingPreparedStatement extends AbstractShardingPreparedSta
     
     @Override
     public boolean execute() throws SQLException {
+        routedStatements.clear();
         try {
             Collection<PreparedStatementUnit> preparedStatementUnits = route();
             return new PreparedStatementExecutor(
['sharding-jdbc/src/main/java/io/shardingsphere/core/jdbc/core/statement/ShardingPreparedStatement.java']