This is an automated email from the ASF dual-hosted git repository.

totalo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new d107597f76a Refactor EncryptRule (#26037)
d107597f76a is described below

commit d107597f76abc533693cf1585c4077b8d8fe664f
Author: Liang Zhang <[email protected]>
AuthorDate: Sun Jun 4 04:15:43 2023 +0800

    Refactor EncryptRule (#26037)
---
 .../user-manual/error-code/sql-error-code.cn.md    |   7 +-
 .../user-manual/error-code/sql-error-code.en.md    |   7 +-
 .../checker/EncryptRuleConfigurationChecker.java   |  38 +++---
 ...=> MissingAssistedQueryEncryptorException.java} |   8 +-
 ...ception.java => MissingEncryptorException.java} |   8 +-
 ...ava => MissingLikeQueryEncryptorException.java} |   8 +-
 ...on.java => UnregisteredEncryptorException.java} |  10 +-
 .../EncryptAssignmentParameterRewriter.java        |   2 +-
 .../EncryptPredicateParameterRewriter.java         |   2 +-
 .../generator/EncryptAssignmentTokenGenerator.java |   2 +-
 .../EncryptInsertOnUpdateTokenGenerator.java       |   2 +-
 .../EncryptPredicateRightValueTokenGenerator.java  |   2 +-
 .../generator/InsertCipherNameTokenGenerator.java  |   2 +-
 .../shardingsphere/encrypt/rule/EncryptRule.java   | 148 ++++++++++-----------
 .../EncryptRuleConfigurationCheckerTest.java       |   8 +-
 .../EncryptInsertOnUpdateTokenGeneratorTest.java   |   2 +-
 .../encrypt/rule/EncryptRuleTest.java              |   4 +-
 .../proxy/backend/context/ProxyContextTest.java    |   5 +-
 18 files changed, 127 insertions(+), 138 deletions(-)

diff --git a/docs/document/content/user-manual/error-code/sql-error-code.cn.md 
b/docs/document/content/user-manual/error-code/sql-error-code.cn.md
index dc7a9f70a2e..0fadca54c86 100644
--- a/docs/document/content/user-manual/error-code/sql-error-code.cn.md
+++ b/docs/document/content/user-manual/error-code/sql-error-code.cn.md
@@ -255,12 +255,13 @@ SQL 错误码以标准的 SQL State,Vendor Code 和详细错误信息提供,
 | HY004     | 20780       | Encrypt algorithm \`%s\` initialization failed, 
reason is: %s.                                     |
 | HY004     | 20781       | \`%s\` column's encryptor name \`%s\` does not 
match encrypt algorithm type \`%s\`.                |
 | 44000     | 20703       | Cipher column of \`%s\` can not be null in 
database \`%s\`.                                        |
-| 44000     | 20704       | Encrypt column encryptor not found, reason is: %s. 
                                                |
+| 44000     | 20704       | Can not found encryptor in table \`%s\` and column 
\`%s\`.                                         |
 | 44000     | 20705       | Assisted query column of \`%s\` can not be null in 
database \`%s\`.                                |
-| 44000     | 20706       | Assisted query encryptor not found, reason is: %s. 
                                                |
+| 44000     | 20706       | Can not found assist query encryptor in table 
\`%s\` and column \`%s\`.                            |
 | 44000     | 20707       | Like query column of \`%s\` can not be null in 
database \`%s\`.                                    |
-| 44000     | 20708       | Encrypt like query encryptor not found, reason is: 
%s.                                             |
+| 44000     | 20708       | Can not found like query encryptor in table \`%s\` 
and column \`%s\`.                              |
 | 44000     | 20709       | Can not find encrypt table: \`%s\`.                
                                                |
+| 44000     | 20710       | Can not found registered encryptor \`%s\` in 
database \`%s\`.                                      |
 
 ### 影子库
 
diff --git a/docs/document/content/user-manual/error-code/sql-error-code.en.md 
b/docs/document/content/user-manual/error-code/sql-error-code.en.md
index a047ef463e7..5f7a4d4aaa9 100644
--- a/docs/document/content/user-manual/error-code/sql-error-code.en.md
+++ b/docs/document/content/user-manual/error-code/sql-error-code.en.md
@@ -270,12 +270,13 @@ SQL error codes provide by standard `SQL State`, `Vendor 
Code` and `Reason`, whi
 | HY004     | 20780       | Encrypt algorithm \`%s\` initialization failed, 
reason is: %s.                                     |
 | HY004     | 20781       | \`%s\` column's encryptor name \`%s\` does not 
match encrypt algorithm type \`%s\`.                |
 | 44000     | 20703       | Cipher column of \`%s\` can not be null in 
database \`%s\`.                                        |
-| 44000     | 20704       | Encrypt column encryptor not found, reason is: %s. 
                                                |
+| 44000     | 20704       | Can not found encryptor in table \`%s\` and column 
\`%s\`.                                         |
 | 44000     | 20705       | Assisted query column of \`%s\` can not be null in 
database \`%s\`.                                |
-| 44000     | 20706       | Assisted query encryptor not found, reason is: %s. 
                                                |
+| 44000     | 20706       | Can not found assist query encryptor in table 
\`%s\` and column \`%s\`.                            |
 | 44000     | 20707       | Like query column of \`%s\` can not be null in 
database \`%s\`.                                    |
-| 44000     | 20708       | Encrypt like query encryptor not found, reason is: 
%s.                                             |
+| 44000     | 20708       | Can not found like query encryptor in table \`%s\` 
and column \`%s\`.                              |
 | 44000     | 20709       | Can not find encrypt table: \`%s\`.                
                                                |
+| 44000     | 20710       | Can not found registered encryptor \`%s\` in 
database \`%s\`.                                      |
 
 ### Shadow Database
 
diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/checker/EncryptRuleConfigurationChecker.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/checker/EncryptRuleConfigurationChecker.java
index cb9d666c9e0..75f4ea02d76 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/checker/EncryptRuleConfigurationChecker.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/checker/EncryptRuleConfigurationChecker.java
@@ -23,12 +23,13 @@ import 
org.apache.shardingsphere.encrypt.api.config.rule.EncryptColumnItemRuleCo
 import 
org.apache.shardingsphere.encrypt.api.config.rule.EncryptColumnRuleConfiguration;
 import 
org.apache.shardingsphere.encrypt.api.config.rule.EncryptTableRuleConfiguration;
 import org.apache.shardingsphere.encrypt.constant.EncryptOrder;
+import 
org.apache.shardingsphere.encrypt.exception.metadata.MissingAssistedQueryEncryptorException;
 import 
org.apache.shardingsphere.encrypt.exception.metadata.EncryptAssistedQueryColumnNotFoundException;
-import 
org.apache.shardingsphere.encrypt.exception.metadata.EncryptAssistedQueryEncryptorNotFoundException;
 import 
org.apache.shardingsphere.encrypt.exception.metadata.EncryptCipherColumnNotFoundException;
-import 
org.apache.shardingsphere.encrypt.exception.metadata.EncryptEncryptorNotFoundException;
 import 
org.apache.shardingsphere.encrypt.exception.metadata.EncryptLikeQueryColumnNotFoundException;
-import 
org.apache.shardingsphere.encrypt.exception.metadata.EncryptLikeQueryEncryptorNotFoundException;
+import 
org.apache.shardingsphere.encrypt.exception.metadata.MissingLikeQueryEncryptorException;
+import 
org.apache.shardingsphere.encrypt.exception.metadata.MissingEncryptorException;
+import 
org.apache.shardingsphere.encrypt.exception.metadata.UnregisteredEncryptorException;
 import org.apache.shardingsphere.infra.config.algorithm.AlgorithmConfiguration;
 import 
org.apache.shardingsphere.infra.config.rule.checker.RuleConfigurationChecker;
 import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
@@ -56,37 +57,32 @@ public final class EncryptRuleConfigurationChecker 
implements RuleConfigurationC
     
     private void checkColumnConfiguration(final String databaseName, final 
EncryptTableRuleConfiguration tableRuleConfig, final Map<String, 
AlgorithmConfiguration> encryptors) {
         for (EncryptColumnRuleConfiguration each : 
tableRuleConfig.getColumns()) {
-            checkCipherColumnConfiguration(databaseName, each.getCipher(), 
each.getName(), encryptors);
-            each.getAssistedQuery().ifPresent(optional -> 
checkAssistColumnConfiguration(databaseName, optional, each.getName(), 
encryptors));
-            each.getLikeQuery().ifPresent(optional -> 
checkLikeColumnConfiguration(databaseName, optional, each.getName(), 
encryptors));
+            checkCipherColumnConfiguration(databaseName, 
tableRuleConfig.getName(), each.getCipher(), each.getName(), encryptors);
+            each.getAssistedQuery().ifPresent(optional -> 
checkAssistColumnConfiguration(databaseName, tableRuleConfig.getName(), 
optional, each.getName(), encryptors));
+            each.getLikeQuery().ifPresent(optional -> 
checkLikeColumnConfiguration(databaseName, tableRuleConfig.getName(), optional, 
each.getName(), encryptors));
         }
     }
     
-    private void checkCipherColumnConfiguration(final String databaseName, 
final EncryptColumnItemRuleConfiguration cipherColumn, final String logicColumn,
+    private void checkCipherColumnConfiguration(final String databaseName, 
final String tableName, final EncryptColumnItemRuleConfiguration cipherColumn, 
final String logicColumn,
                                                 final Map<String, 
AlgorithmConfiguration> encryptors) {
         
ShardingSpherePreconditions.checkState(!Strings.isNullOrEmpty(cipherColumn.getName()),
 () -> new EncryptCipherColumnNotFoundException(logicColumn, databaseName));
-        
ShardingSpherePreconditions.checkState(!Strings.isNullOrEmpty(cipherColumn.getEncryptorName()),
-                () -> new 
EncryptEncryptorNotFoundException(String.format("Encryptor name of `%s` can not 
be null in database `%s`.", logicColumn, databaseName)));
-        
ShardingSpherePreconditions.checkState(encryptors.containsKey(cipherColumn.getEncryptorName()),
-                () -> new EncryptEncryptorNotFoundException(String.format("Can 
not find encryptor `%s` in database `%s`.", cipherColumn.getEncryptorName(), 
databaseName)));
+        
ShardingSpherePreconditions.checkState(!Strings.isNullOrEmpty(cipherColumn.getEncryptorName()),
 () -> new MissingEncryptorException(tableName, logicColumn));
+        
ShardingSpherePreconditions.checkState(encryptors.containsKey(cipherColumn.getEncryptorName()),
 () -> new UnregisteredEncryptorException(databaseName, 
cipherColumn.getEncryptorName()));
     }
     
-    private void checkAssistColumnConfiguration(final String databaseName, 
final EncryptColumnItemRuleConfiguration assistedQueryColumn, final String 
logicColumn,
+    private void checkAssistColumnConfiguration(final String databaseName, 
final String tableName, final EncryptColumnItemRuleConfiguration 
assistedQueryColumn, final String logicColumn,
                                                 final Map<String, 
AlgorithmConfiguration> encryptors) {
         
ShardingSpherePreconditions.checkState(!Strings.isNullOrEmpty(assistedQueryColumn.getName()),
 () -> new EncryptAssistedQueryColumnNotFoundException(logicColumn, 
databaseName));
-        
ShardingSpherePreconditions.checkState(!Strings.isNullOrEmpty(assistedQueryColumn.getEncryptorName()),
 () -> new EncryptAssistedQueryEncryptorNotFoundException(
-                String.format("Assisted query encryptor name of `%s` can not 
be null in database `%s`.", logicColumn, databaseName)));
-        
ShardingSpherePreconditions.checkState(encryptors.containsKey(assistedQueryColumn.getEncryptorName()),
 () -> new EncryptAssistedQueryEncryptorNotFoundException(
-                String.format("Can not find assisted query encryptor `%s` in 
database `%s`.", assistedQueryColumn.getEncryptorName(), databaseName)));
+        
ShardingSpherePreconditions.checkState(!Strings.isNullOrEmpty(assistedQueryColumn.getEncryptorName()),
 () -> new MissingAssistedQueryEncryptorException(tableName, logicColumn));
+        ShardingSpherePreconditions.checkState(
+                
encryptors.containsKey(assistedQueryColumn.getEncryptorName()), () -> new 
UnregisteredEncryptorException(databaseName, 
assistedQueryColumn.getEncryptorName()));
     }
     
-    private void checkLikeColumnConfiguration(final String databaseName, final 
EncryptColumnItemRuleConfiguration likeQueryColumn, final String logicColumn,
+    private void checkLikeColumnConfiguration(final String databaseName, final 
String tableName, final EncryptColumnItemRuleConfiguration likeQueryColumn, 
final String logicColumn,
                                               final Map<String, 
AlgorithmConfiguration> encryptors) {
         
ShardingSpherePreconditions.checkState(!Strings.isNullOrEmpty(likeQueryColumn.getName()),
 () -> new EncryptLikeQueryColumnNotFoundException(logicColumn, databaseName));
-        
ShardingSpherePreconditions.checkState(!Strings.isNullOrEmpty(likeQueryColumn.getEncryptorName()),
-                () -> new 
EncryptLikeQueryEncryptorNotFoundException(String.format("Like query encryptor 
name of `%s` can not be null in database `%s`.", logicColumn, databaseName)));
-        
ShardingSpherePreconditions.checkState(encryptors.containsKey(likeQueryColumn.getEncryptorName()),
-                () -> new 
EncryptLikeQueryEncryptorNotFoundException(String.format("Can not find like 
query encryptor `%s` in database `%s`.", likeQueryColumn.getEncryptorName(), 
databaseName)));
+        
ShardingSpherePreconditions.checkState(!Strings.isNullOrEmpty(likeQueryColumn.getEncryptorName()),
 () -> new MissingLikeQueryEncryptorException(tableName, logicColumn));
+        
ShardingSpherePreconditions.checkState(encryptors.containsKey(likeQueryColumn.getEncryptorName()),
 () -> new UnregisteredEncryptorException(databaseName, 
likeQueryColumn.getEncryptorName()));
     }
     
     @Override
diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/EncryptAssistedQueryEncryptorNotFoundException.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/MissingAssistedQueryEncryptorException.java
similarity index 74%
rename from 
features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/EncryptAssistedQueryEncryptorNotFoundException.java
rename to 
features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/MissingAssistedQueryEncryptorException.java
index 0dfb7218f68..847ed508a46 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/EncryptAssistedQueryEncryptorNotFoundException.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/MissingAssistedQueryEncryptorException.java
@@ -21,13 +21,13 @@ import 
org.apache.shardingsphere.encrypt.exception.EncryptSQLException;
 import 
org.apache.shardingsphere.infra.util.exception.external.sql.sqlstate.XOpenSQLState;
 
 /**
- * Encrypt assisted query encryptor not found exception.
+ * Missing assisted query encryptor exception.
  */
-public final class EncryptAssistedQueryEncryptorNotFoundException extends 
EncryptSQLException {
+public final class MissingAssistedQueryEncryptorException extends 
EncryptSQLException {
     
     private static final long serialVersionUID = -8700683634804933320L;
     
-    public EncryptAssistedQueryEncryptorNotFoundException(final String reason) 
{
-        super(XOpenSQLState.CHECK_OPTION_VIOLATION, 6, "Assisted query 
encryptor not found, reason is: %s.", reason);
+    public MissingAssistedQueryEncryptorException(final String tableName, 
final String logicColumnName) {
+        super(XOpenSQLState.CHECK_OPTION_VIOLATION, 6, "Can not found assist 
query encryptor in table `%s` and column `%s`.", tableName, logicColumnName);
     }
 }
diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/EncryptEncryptorNotFoundException.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/MissingEncryptorException.java
similarity index 76%
copy from 
features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/EncryptEncryptorNotFoundException.java
copy to 
features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/MissingEncryptorException.java
index 8443bab3992..810f7f28a95 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/EncryptEncryptorNotFoundException.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/MissingEncryptorException.java
@@ -21,13 +21,13 @@ import 
org.apache.shardingsphere.encrypt.exception.EncryptSQLException;
 import 
org.apache.shardingsphere.infra.util.exception.external.sql.sqlstate.XOpenSQLState;
 
 /**
- * Encrypt encryptor not found exception.
+ * Missing encryptor exception.
  */
-public final class EncryptEncryptorNotFoundException extends 
EncryptSQLException {
+public final class MissingEncryptorException extends EncryptSQLException {
     
     private static final long serialVersionUID = -4847495252826650747L;
     
-    public EncryptEncryptorNotFoundException(final String reason) {
-        super(XOpenSQLState.CHECK_OPTION_VIOLATION, 4, "Encrypt column 
encryptor not found, reason is: %s.", reason);
+    public MissingEncryptorException(final String tableName, final String 
logicColumnName) {
+        super(XOpenSQLState.CHECK_OPTION_VIOLATION, 4, "Can not found 
encryptor in table `%s` and column `%s`.", tableName, logicColumnName);
     }
 }
diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/EncryptLikeQueryEncryptorNotFoundException.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/MissingLikeQueryEncryptorException.java
similarity index 74%
rename from 
features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/EncryptLikeQueryEncryptorNotFoundException.java
rename to 
features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/MissingLikeQueryEncryptorException.java
index 7a2e2a5bbbc..e4e5720db79 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/EncryptLikeQueryEncryptorNotFoundException.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/MissingLikeQueryEncryptorException.java
@@ -21,13 +21,13 @@ import 
org.apache.shardingsphere.encrypt.exception.EncryptSQLException;
 import 
org.apache.shardingsphere.infra.util.exception.external.sql.sqlstate.XOpenSQLState;
 
 /**
- * Encrypt like query encryptor not found exception.
+ * Missing like query encryptor exception.
  */
-public final class EncryptLikeQueryEncryptorNotFoundException extends 
EncryptSQLException {
+public final class MissingLikeQueryEncryptorException extends 
EncryptSQLException {
     
     private static final long serialVersionUID = 1620586484949188815L;
     
-    public EncryptLikeQueryEncryptorNotFoundException(final String reason) {
-        super(XOpenSQLState.CHECK_OPTION_VIOLATION, 8, "Encrypt like query 
encryptor not found, reason is: %s.", reason);
+    public MissingLikeQueryEncryptorException(final String tableName, final 
String logicColumnName) {
+        super(XOpenSQLState.CHECK_OPTION_VIOLATION, 8, "Can not found like 
query encryptor in table `%s` and column `%s`.", tableName, logicColumnName);
     }
 }
diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/EncryptEncryptorNotFoundException.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/UnregisteredEncryptorException.java
similarity index 70%
rename from 
features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/EncryptEncryptorNotFoundException.java
rename to 
features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/UnregisteredEncryptorException.java
index 8443bab3992..701274fbced 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/EncryptEncryptorNotFoundException.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/UnregisteredEncryptorException.java
@@ -21,13 +21,13 @@ import 
org.apache.shardingsphere.encrypt.exception.EncryptSQLException;
 import 
org.apache.shardingsphere.infra.util.exception.external.sql.sqlstate.XOpenSQLState;
 
 /**
- * Encrypt encryptor not found exception.
+ * Unregistered encryptor exception.
  */
-public final class EncryptEncryptorNotFoundException extends 
EncryptSQLException {
+public final class UnregisteredEncryptorException extends EncryptSQLException {
     
-    private static final long serialVersionUID = -4847495252826650747L;
+    private static final long serialVersionUID = -1106379155485560944L;
     
-    public EncryptEncryptorNotFoundException(final String reason) {
-        super(XOpenSQLState.CHECK_OPTION_VIOLATION, 4, "Encrypt column 
encryptor not found, reason is: %s.", reason);
+    public UnregisteredEncryptorException(final String databaseName, final 
String encryptorName) {
+        super(XOpenSQLState.CHECK_OPTION_VIOLATION, 10, "Can not found 
registered encryptor `%s` in database `%s`.", encryptorName, databaseName);
     }
 }
diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptAssignmentParameterRewriter.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptAssignmentParameterRewriter.java
index 400418a569b..92987469122 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptAssignmentParameterRewriter.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptAssignmentParameterRewriter.java
@@ -94,7 +94,7 @@ public final class EncryptAssignmentParameterRewriter 
implements ParameterRewrit
         String columnName = 
assignmentSegment.getColumns().get(0).getIdentifier().getValue();
         int parameterMarkerIndex = ((ParameterMarkerExpressionSegment) 
assignmentSegment.getValue()).getParameterMarkerIndex();
         Object originalValue = params.get(parameterMarkerIndex);
-        Object cipherValue = encryptRule.getEncryptValues(databaseName, 
schemaName, tableName, columnName, 
Collections.singletonList(originalValue)).iterator().next();
+        Object cipherValue = encryptRule.encrypt(databaseName, schemaName, 
tableName, columnName, 
Collections.singletonList(originalValue)).iterator().next();
         paramBuilder.addReplacedParameters(parameterMarkerIndex, cipherValue);
         Collection<Object> addedParams = new LinkedList<>();
         if (encryptRule.findAssistedQueryColumn(tableName, 
columnName).isPresent()) {
diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptPredicateParameterRewriter.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptPredicateParameterRewriter.java
index e54febae1b5..60b2d46ef24 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptPredicateParameterRewriter.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptPredicateParameterRewriter.java
@@ -71,7 +71,7 @@ public final class EncryptPredicateParameterRewriter 
implements ParameterRewrite
         
         return encryptRule.findAssistedQueryColumn(tableName, 
columnName).isPresent()
                 ? encryptRule.getEncryptAssistedQueryValues(databaseName, 
schemaName, tableName, columnName, originalValues)
-                : encryptRule.getEncryptValues(databaseName, schemaName, 
tableName, columnName, originalValues);
+                : encryptRule.encrypt(databaseName, schemaName, tableName, 
columnName, originalValues);
     }
     
     private void encryptParameters(final ParameterBuilder paramBuilder, final 
Map<Integer, Integer> positionIndexes, final List<Object> encryptValues) {
diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptAssignmentTokenGenerator.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptAssignmentTokenGenerator.java
index 3b322889b77..b6a87185ccf 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptAssignmentTokenGenerator.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptAssignmentTokenGenerator.java
@@ -125,7 +125,7 @@ public final class EncryptAssignmentTokenGenerator 
implements CollectionSQLToken
     
     private void addCipherAssignment(final String schemaName, final String 
tableName, final AssignmentSegment assignmentSegment, final 
EncryptLiteralAssignmentToken token) {
         Object originalValue = ((LiteralExpressionSegment) 
assignmentSegment.getValue()).getLiterals();
-        Object cipherValue = encryptRule.getEncryptValues(databaseName, 
schemaName, tableName, 
assignmentSegment.getColumns().get(0).getIdentifier().getValue(),
+        Object cipherValue = encryptRule.encrypt(databaseName, schemaName, 
tableName, assignmentSegment.getColumns().get(0).getIdentifier().getValue(),
                 Collections.singletonList(originalValue)).iterator().next();
         token.addAssignment(encryptRule.getCipherColumn(tableName, 
assignmentSegment.getColumns().get(0).getIdentifier().getValue()), cipherValue);
     }
diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptInsertOnUpdateTokenGenerator.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptInsertOnUpdateTokenGenerator.java
index 8eb6786eff5..1765feb3d74 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptInsertOnUpdateTokenGenerator.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptInsertOnUpdateTokenGenerator.java
@@ -170,7 +170,7 @@ public final class EncryptInsertOnUpdateTokenGenerator 
implements CollectionSQLT
     
     private void addCipherAssignment(final String schemaName, final String 
tableName, final AssignmentSegment assignmentSegment, final 
EncryptLiteralAssignmentToken token) {
         Object originalValue = ((LiteralExpressionSegment) 
assignmentSegment.getValue()).getLiterals();
-        Object cipherValue = encryptRule.getEncryptValues(databaseName, 
schemaName, tableName, 
assignmentSegment.getColumns().get(0).getIdentifier().getValue(),
+        Object cipherValue = encryptRule.encrypt(databaseName, schemaName, 
tableName, assignmentSegment.getColumns().get(0).getIdentifier().getValue(),
                 Collections.singletonList(originalValue)).iterator().next();
         token.addAssignment(encryptRule.getCipherColumn(tableName, 
assignmentSegment.getColumns().get(0).getIdentifier().getValue()), cipherValue);
     }
diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptPredicateRightValueTokenGenerator.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptPredicateRightValueTokenGenerator.java
index 91a67f8fee1..4d6b45050c0 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptPredicateRightValueTokenGenerator.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptPredicateRightValueTokenGenerator.java
@@ -108,7 +108,7 @@ public final class EncryptPredicateRightValueTokenGenerator
         Optional<String> assistedQueryColumn = 
encryptRule.findAssistedQueryColumn(encryptCondition.getTableName(), 
encryptCondition.getColumnName());
         return assistedQueryColumn.isPresent()
                 ? encryptRule.getEncryptAssistedQueryValues(databaseName, 
schemaName, encryptCondition.getTableName(), encryptCondition.getColumnName(), 
originalValues)
-                : encryptRule.getEncryptValues(databaseName, schemaName, 
encryptCondition.getTableName(), encryptCondition.getColumnName(), 
originalValues);
+                : encryptRule.encrypt(databaseName, schemaName, 
encryptCondition.getTableName(), encryptCondition.getColumnName(), 
originalValues);
     }
     
     private Map<Integer, Object> getPositionValues(final Collection<Integer> 
valuePositions, final List<Object> encryptValues) {
diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/InsertCipherNameTokenGenerator.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/InsertCipherNameTokenGenerator.java
index 09168492eb1..a473d7bbde2 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/InsertCipherNameTokenGenerator.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/InsertCipherNameTokenGenerator.java
@@ -57,7 +57,7 @@ public final class InsertCipherNameTokenGenerator implements 
CollectionSQLTokenG
     public Collection<SQLToken> generateSQLTokens(final InsertStatementContext 
insertStatementContext) {
         Optional<InsertColumnsSegment> sqlSegment = 
insertStatementContext.getSqlStatement().getInsertColumns();
         Preconditions.checkState(sqlSegment.isPresent());
-        Map<String, String> logicAndCipherColumns = 
encryptRule.getLogicAndCipherColumns(insertStatementContext.getSqlStatement().getTable().getTableName().getIdentifier().getValue());
+        Map<String, String> logicAndCipherColumns = 
encryptRule.getLogicAndCipherColumnsMap(insertStatementContext.getSqlStatement().getTable().getTableName().getIdentifier().getValue());
         Collection<SQLToken> result = new LinkedList<>();
         for (ColumnSegment each : sqlSegment.get().getColumns()) {
             if 
(logicAndCipherColumns.containsKey(each.getIdentifier().getValue())) {
diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rule/EncryptRule.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rule/EncryptRule.java
index 8e436c8e828..3a38c25674e 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rule/EncryptRule.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rule/EncryptRule.java
@@ -17,6 +17,7 @@
 
 package org.apache.shardingsphere.encrypt.rule;
 
+import com.google.common.base.Preconditions;
 import lombok.Getter;
 import 
org.apache.shardingsphere.encrypt.api.config.CompatibleEncryptRuleConfiguration;
 import org.apache.shardingsphere.encrypt.api.config.EncryptRuleConfiguration;
@@ -28,9 +29,9 @@ import 
org.apache.shardingsphere.encrypt.api.encrypt.like.LikeEncryptAlgorithm;
 import 
org.apache.shardingsphere.encrypt.api.encrypt.standard.StandardEncryptAlgorithm;
 import org.apache.shardingsphere.encrypt.context.EncryptContextBuilder;
 import 
org.apache.shardingsphere.encrypt.exception.algorithm.MismatchedEncryptAlgorithmTypeException;
-import 
org.apache.shardingsphere.encrypt.exception.metadata.EncryptAssistedQueryEncryptorNotFoundException;
-import 
org.apache.shardingsphere.encrypt.exception.metadata.EncryptEncryptorNotFoundException;
-import 
org.apache.shardingsphere.encrypt.exception.metadata.EncryptLikeQueryEncryptorNotFoundException;
+import 
org.apache.shardingsphere.encrypt.exception.metadata.MissingAssistedQueryEncryptorException;
+import 
org.apache.shardingsphere.encrypt.exception.metadata.MissingEncryptorException;
+import 
org.apache.shardingsphere.encrypt.exception.metadata.MissingLikeQueryEncryptorException;
 import org.apache.shardingsphere.encrypt.spi.EncryptAlgorithm;
 import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
 import org.apache.shardingsphere.infra.rule.identifier.scope.DatabaseRule;
@@ -115,88 +116,82 @@ public final class EncryptRule implements DatabaseRule, 
TableContainedRule, Colu
     /**
      * Find encrypt table.
      * 
-     * @param logicTable logic table
+     * @param tableName table name
      * @return encrypt table
      */
-    public Optional<EncryptTable> findEncryptTable(final String logicTable) {
-        return Optional.ofNullable(tables.get(logicTable.toLowerCase()));
+    public Optional<EncryptTable> findEncryptTable(final String tableName) {
+        return Optional.ofNullable(tables.get(tableName.toLowerCase()));
     }
     
     /**
      * Find encrypt column.
      * 
-     * @param logicTable logic table
-     * @param columnName column name
+     * @param tableName table name
+     * @param logicColumnName logic column name
      * @return encrypt column
      */
-    public Optional<EncryptColumn> findEncryptColumn(final String logicTable, 
final String columnName) {
-        return findEncryptTable(logicTable).flatMap(optional -> 
optional.findEncryptColumn(columnName));
+    public Optional<EncryptColumn> findEncryptColumn(final String tableName, 
final String logicColumnName) {
+        return findEncryptTable(tableName).flatMap(optional -> 
optional.findEncryptColumn(logicColumnName));
     }
     
     /**
      * Find standard encryptor.
      *
-     * @param logicTable logic table name
-     * @param logicColumn logic column name
+     * @param tableName table name
+     * @param logicColumnName logic column name
      * @return standard encryptor
      */
     @SuppressWarnings("rawtypes")
-    public Optional<StandardEncryptAlgorithm> findStandardEncryptor(final 
String logicTable, final String logicColumn) {
-        String lowerCaseLogicTable = logicTable.toLowerCase();
-        return tables.containsKey(lowerCaseLogicTable) ? 
tables.get(lowerCaseLogicTable).findEncryptorName(logicColumn).map(standardEncryptors::get)
 : Optional.empty();
+    public Optional<StandardEncryptAlgorithm> findStandardEncryptor(final 
String tableName, final String logicColumnName) {
+        return findEncryptTable(tableName).flatMap(optional -> 
optional.findEncryptorName(logicColumnName).map(standardEncryptors::get));
     }
     
     /**
      * Find assisted encryptor.
      *
-     * @param logicTable logic table name
-     * @param logicColumn logic column name
+     * @param tableName table name
+     * @param logicColumnName logic column name
      * @return assisted encryptor
      */
     @SuppressWarnings("rawtypes")
-    public Optional<AssistedEncryptAlgorithm> findAssistedQueryEncryptor(final 
String logicTable, final String logicColumn) {
-        String lowerCaseLogicTable = logicTable.toLowerCase();
-        return tables.containsKey(lowerCaseLogicTable) ? 
tables.get(lowerCaseLogicTable).findAssistedQueryEncryptorName(logicColumn).map(assistedEncryptors::get)
 : Optional.empty();
+    public Optional<AssistedEncryptAlgorithm> findAssistedQueryEncryptor(final 
String tableName, final String logicColumnName) {
+        return findEncryptTable(tableName).flatMap(optional -> 
optional.findAssistedQueryEncryptorName(logicColumnName).map(assistedEncryptors::get));
     }
     
     /**
      * Find like query encryptor.
      *
-     * @param logicTable logic table name
-     * @param logicColumn logic column name
+     * @param tableName table name
+     * @param logicColumnName logic column name
      * @return like query encryptor
      */
     @SuppressWarnings("rawtypes")
-    public Optional<LikeEncryptAlgorithm> findLikeQueryEncryptor(final String 
logicTable, final String logicColumn) {
-        String lowerCaseLogicTable = logicTable.toLowerCase();
-        return tables.containsKey(lowerCaseLogicTable) ? 
tables.get(lowerCaseLogicTable).findLikeQueryEncryptorName(logicColumn).map(likeEncryptors::get)
 : Optional.empty();
+    public Optional<LikeEncryptAlgorithm> findLikeQueryEncryptor(final String 
tableName, final String logicColumnName) {
+        return findEncryptTable(tableName).flatMap(optional -> 
optional.findLikeQueryEncryptorName(logicColumnName).map(likeEncryptors::get));
     }
     
     /**
-     * Get encrypt values.
+     * Encrypt.
      *
      * @param databaseName database name
      * @param schemaName schema name
-     * @param logicTable logic table
-     * @param logicColumn logic column
+     * @param tableName table name
+     * @param logicColumnName logic column name
      * @param originalValues original values
-     * @return encrypt values
+     * @return encrypted values
      */
-    public List<Object> getEncryptValues(final String databaseName, final 
String schemaName, final String logicTable, final String logicColumn, final 
List<Object> originalValues) {
+    public List<Object> encrypt(final String databaseName, final String 
schemaName, final String tableName, final String logicColumnName, final 
List<Object> originalValues) {
         @SuppressWarnings("rawtypes")
-        Optional<StandardEncryptAlgorithm> encryptor = 
findStandardEncryptor(logicTable, logicColumn);
-        EncryptContext encryptContext = 
EncryptContextBuilder.build(databaseName, schemaName, logicTable, logicColumn);
-        ShardingSpherePreconditions.checkState(encryptor.isPresent(),
-                () -> new EncryptEncryptorNotFoundException(String.format("Can 
not find StandardEncryptAlgorithm by %s.%s.", logicTable, logicColumn)));
-        return getEncryptValues(encryptor.get(), originalValues, 
encryptContext);
+        Optional<StandardEncryptAlgorithm> encryptor = 
findStandardEncryptor(tableName, logicColumnName);
+        ShardingSpherePreconditions.checkState(encryptor.isPresent(), () -> 
new MissingEncryptorException(tableName, logicColumnName));
+        return encrypt(encryptor.get(), originalValues, 
EncryptContextBuilder.build(databaseName, schemaName, tableName, 
logicColumnName));
     }
     
     @SuppressWarnings("unchecked")
-    private List<Object> getEncryptValues(@SuppressWarnings("rawtypes") final 
StandardEncryptAlgorithm encryptor, final List<Object> originalValues, final 
EncryptContext encryptContext) {
+    private List<Object> encrypt(@SuppressWarnings("rawtypes") final 
StandardEncryptAlgorithm encryptor, final List<Object> originalValues, final 
EncryptContext context) {
         List<Object> result = new LinkedList<>();
         for (Object each : originalValues) {
-            Object encryptValue = null == each ? null : 
encryptor.encrypt(each, encryptContext);
-            result.add(encryptValue);
+            result.add(null == each ? null : encryptor.encrypt(each, context));
         }
         return result;
     }
@@ -204,57 +199,56 @@ public final class EncryptRule implements DatabaseRule, 
TableContainedRule, Colu
     /**
      * Get cipher column.
      *
-     * @param logicTable logic table name
-     * @param logicColumn logic column name
+     * @param tableName table name
+     * @param logicColumnName logic column name
      * @return cipher column
      */
-    public String getCipherColumn(final String logicTable, final String 
logicColumn) {
-        return 
tables.get(logicTable.toLowerCase()).getCipherColumn(logicColumn);
+    public String getCipherColumn(final String tableName, final String 
logicColumnName) {
+        Optional<EncryptTable> table = findEncryptTable(tableName);
+        Preconditions.checkState(table.isPresent());
+        return table.get().getCipherColumn(logicColumnName);
     }
     
     /**
-     * Get logic and cipher columns.
+     * Get logic and cipher columns map.
      *
-     * @param logicTable logic table 
-     * @return logic and cipher columns
+     * @param tableName table name 
+     * @return logic and cipher columns map
      */
-    public Map<String, String> getLogicAndCipherColumns(final String 
logicTable) {
-        String lowerCaseLogicTable = logicTable.toLowerCase();
-        return tables.containsKey(lowerCaseLogicTable) ? 
tables.get(lowerCaseLogicTable).getLogicAndCipherColumns() : 
Collections.emptyMap();
+    public Map<String, String> getLogicAndCipherColumnsMap(final String 
tableName) {
+        return 
findEncryptTable(tableName).map(EncryptTable::getLogicAndCipherColumns).orElse(Collections.emptyMap());
     }
     
     /**
      * Find assisted query column.
      *
-     * @param logicTable logic table name
-     * @param logicColumn column name
+     * @param tableName table name
+     * @param logicColumnName logic column name
      * @return assisted query column
      */
-    public Optional<String> findAssistedQueryColumn(final String logicTable, 
final String logicColumn) {
-        String lowerCaseLogicTable = logicTable.toLowerCase();
-        return tables.containsKey(lowerCaseLogicTable) ? 
tables.get(lowerCaseLogicTable).findAssistedQueryColumn(logicColumn) : 
Optional.empty();
+    public Optional<String> findAssistedQueryColumn(final String tableName, 
final String logicColumnName) {
+        return findEncryptTable(tableName).flatMap(optional -> 
optional.findAssistedQueryColumn(logicColumnName));
     }
     
     /**
      * Find like query column.
      *
-     * @param logicTable logic table name
-     * @param logicColumn column name
+     * @param tableName table name
+     * @param logicColumnName logic column name
      * @return like query column
      */
-    public Optional<String> findLikeQueryColumn(final String logicTable, final 
String logicColumn) {
-        String lowerCaseLogicTable = logicTable.toLowerCase();
-        return tables.containsKey(lowerCaseLogicTable) ? 
tables.get(lowerCaseLogicTable).findLikeQueryColumn(logicColumn) : 
Optional.empty();
+    public Optional<String> findLikeQueryColumn(final String tableName, final 
String logicColumnName) {
+        return findEncryptTable(tableName).flatMap(optional -> 
optional.findLikeQueryColumn(logicColumnName));
     }
     
     /**
      * Get assisted query columns.
      * 
-     * @param logicTable logic table
+     * @param tableName table name
      * @return assisted query columns
      */
-    public Collection<String> getAssistedQueryColumns(final String logicTable) 
{
-        return tables.containsKey(logicTable.toLowerCase()) ? 
tables.get(logicTable.toLowerCase()).getAssistedQueryColumns() : 
Collections.emptyList();
+    public Collection<String> getAssistedQueryColumns(final String tableName) {
+        return 
findEncryptTable(tableName).map(EncryptTable::getAssistedQueryColumns).orElse(Collections.emptyList());
     }
     
     /**
@@ -262,26 +256,24 @@ public final class EncryptRule implements DatabaseRule, 
TableContainedRule, Colu
      *
      * @param databaseName database name
      * @param schemaName schema name
-     * @param logicTable logic table
-     * @param logicColumn logic column
+     * @param tableName table name
+     * @param logicColumnName logic column name
      * @param originalValues original values
      * @return assisted query values
      */
-    public List<Object> getEncryptAssistedQueryValues(final String 
databaseName, final String schemaName, final String logicTable, final String 
logicColumn, final List<Object> originalValues) {
+    public List<Object> getEncryptAssistedQueryValues(final String 
databaseName, final String schemaName, final String tableName, final String 
logicColumnName, final List<Object> originalValues) {
         @SuppressWarnings("rawtypes")
-        Optional<AssistedEncryptAlgorithm> assistedQueryEncryptor = 
findAssistedQueryEncryptor(logicTable, logicColumn);
-        EncryptContext encryptContext = 
EncryptContextBuilder.build(databaseName, schemaName, logicTable, logicColumn);
-        
ShardingSpherePreconditions.checkState(assistedQueryEncryptor.isPresent(),
-                () -> new 
EncryptAssistedQueryEncryptorNotFoundException(String.format("Can not find 
assisted encryptor by %s.%s.", logicTable, logicColumn)));
-        return getEncryptAssistedQueryValues(assistedQueryEncryptor.get(), 
originalValues, encryptContext);
+        Optional<AssistedEncryptAlgorithm> assistedQueryEncryptor = 
findAssistedQueryEncryptor(tableName, logicColumnName);
+        
ShardingSpherePreconditions.checkState(assistedQueryEncryptor.isPresent(), () 
-> new MissingAssistedQueryEncryptorException(tableName, logicColumnName));
+        return getEncryptAssistedQueryValues(assistedQueryEncryptor.get(), 
originalValues, EncryptContextBuilder.build(databaseName, schemaName, 
tableName, logicColumnName));
     }
     
     @SuppressWarnings("unchecked")
     private List<Object> 
getEncryptAssistedQueryValues(@SuppressWarnings("rawtypes") final 
AssistedEncryptAlgorithm assistedQueryEncryptor,
-                                                       final List<Object> 
originalValues, final EncryptContext encryptContext) {
+                                                       final List<Object> 
originalValues, final EncryptContext context) {
         List<Object> result = new LinkedList<>();
         for (Object each : originalValues) {
-            result.add(null == each ? null : 
assistedQueryEncryptor.encrypt(each, encryptContext));
+            result.add(null == each ? null : 
assistedQueryEncryptor.encrypt(each, context));
         }
         return result;
     }
@@ -291,18 +283,16 @@ public final class EncryptRule implements DatabaseRule, 
TableContainedRule, Colu
      *
      * @param databaseName database name
      * @param schemaName schema name
-     * @param logicTable logic table
-     * @param logicColumn logic column
+     * @param tableName table name
+     * @param logicColumnName logic column name
      * @param originalValues original values
      * @return like query values
      */
-    public List<Object> getEncryptLikeQueryValues(final String databaseName, 
final String schemaName, final String logicTable, final String logicColumn, 
final List<Object> originalValues) {
+    public List<Object> getEncryptLikeQueryValues(final String databaseName, 
final String schemaName, final String tableName, final String logicColumnName, 
final List<Object> originalValues) {
         @SuppressWarnings("rawtypes")
-        Optional<LikeEncryptAlgorithm> likeQueryEncryptor = 
findLikeQueryEncryptor(logicTable, logicColumn);
-        EncryptContext encryptContext = 
EncryptContextBuilder.build(databaseName, schemaName, logicTable, logicColumn);
-        ShardingSpherePreconditions.checkState(likeQueryEncryptor.isPresent(),
-                () -> new 
EncryptLikeQueryEncryptorNotFoundException(String.format("Can not find like 
query encryptor by %s.%s.", logicTable, logicColumn)));
-        return getEncryptLikeQueryValues(likeQueryEncryptor.get(), 
originalValues, encryptContext);
+        Optional<LikeEncryptAlgorithm> likeQueryEncryptor = 
findLikeQueryEncryptor(tableName, logicColumnName);
+        ShardingSpherePreconditions.checkState(likeQueryEncryptor.isPresent(), 
() -> new MissingLikeQueryEncryptorException(tableName, logicColumnName));
+        return getEncryptLikeQueryValues(likeQueryEncryptor.get(), 
originalValues, EncryptContextBuilder.build(databaseName, schemaName, 
tableName, logicColumnName));
     }
     
     @SuppressWarnings("unchecked")
diff --git 
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/checker/EncryptRuleConfigurationCheckerTest.java
 
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/checker/EncryptRuleConfigurationCheckerTest.java
index 6ed4de4b15c..b39369187af 100644
--- 
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/checker/EncryptRuleConfigurationCheckerTest.java
+++ 
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/checker/EncryptRuleConfigurationCheckerTest.java
@@ -21,7 +21,7 @@ import 
org.apache.shardingsphere.encrypt.api.config.EncryptRuleConfiguration;
 import 
org.apache.shardingsphere.encrypt.api.config.rule.EncryptColumnItemRuleConfiguration;
 import 
org.apache.shardingsphere.encrypt.api.config.rule.EncryptColumnRuleConfiguration;
 import 
org.apache.shardingsphere.encrypt.api.config.rule.EncryptTableRuleConfiguration;
-import 
org.apache.shardingsphere.encrypt.exception.metadata.EncryptEncryptorNotFoundException;
+import 
org.apache.shardingsphere.encrypt.exception.metadata.UnregisteredEncryptorException;
 import org.apache.shardingsphere.infra.config.algorithm.AlgorithmConfiguration;
 import 
org.apache.shardingsphere.infra.config.rule.checker.RuleConfigurationChecker;
 import org.apache.shardingsphere.infra.util.spi.type.ordered.OrderedSPILoader;
@@ -58,7 +58,7 @@ class EncryptRuleConfigurationCheckerTest {
     void assertCheckWhenConfigInvalidCipherColumn() {
         EncryptRuleConfiguration config = createInvalidCipherColumnConfig();
         RuleConfigurationChecker checker = 
OrderedSPILoader.getServicesByClass(RuleConfigurationChecker.class, 
Collections.singleton(config.getClass())).get(config.getClass());
-        assertThrows(EncryptEncryptorNotFoundException.class, () -> 
checker.check("test", config, Collections.emptyMap(), Collections.emptyList()));
+        assertThrows(UnregisteredEncryptorException.class, () -> 
checker.check("test", config, Collections.emptyMap(), Collections.emptyList()));
     }
     
     private EncryptRuleConfiguration createInvalidCipherColumnConfig() {
@@ -75,7 +75,7 @@ class EncryptRuleConfigurationCheckerTest {
     void assertCheckWhenConfigInvalidAssistColumn() {
         EncryptRuleConfiguration config = createInvalidAssistColumnConfig();
         RuleConfigurationChecker checker = 
OrderedSPILoader.getServicesByClass(RuleConfigurationChecker.class, 
Collections.singleton(config.getClass())).get(config.getClass());
-        assertThrows(EncryptEncryptorNotFoundException.class, () -> 
checker.check("test", config, Collections.emptyMap(), Collections.emptyList()));
+        assertThrows(UnregisteredEncryptorException.class, () -> 
checker.check("test", config, Collections.emptyMap(), Collections.emptyList()));
     }
     
     private EncryptRuleConfiguration createInvalidAssistColumnConfig() {
@@ -93,7 +93,7 @@ class EncryptRuleConfigurationCheckerTest {
     void assertCheckWhenConfigInvalidLikeColumn() {
         EncryptRuleConfiguration config = createInvalidLikeColumnConfig();
         RuleConfigurationChecker checker = 
OrderedSPILoader.getServicesByClass(RuleConfigurationChecker.class, 
Collections.singleton(config.getClass())).get(config.getClass());
-        assertThrows(EncryptEncryptorNotFoundException.class, () -> 
checker.check("test", config, Collections.emptyMap(), Collections.emptyList()));
+        assertThrows(UnregisteredEncryptorException.class, () -> 
checker.check("test", config, Collections.emptyMap(), Collections.emptyList()));
     }
     
     private EncryptRuleConfiguration createInvalidLikeColumnConfig() {
diff --git 
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/EncryptInsertOnUpdateTokenGeneratorTest.java
 
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/EncryptInsertOnUpdateTokenGeneratorTest.java
index caad90ae4e4..16b8e0eecc7 100644
--- 
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/EncryptInsertOnUpdateTokenGeneratorTest.java
+++ 
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/EncryptInsertOnUpdateTokenGeneratorTest.java
@@ -67,7 +67,7 @@ class EncryptInsertOnUpdateTokenGeneratorTest {
         when(result.getCipherColumn("t_user", 
"mobile")).thenReturn("cipher_mobile");
         when(result.findStandardEncryptor("t_user", 
"mobile")).thenReturn(Optional.of(mock(StandardEncryptAlgorithm.class)));
         when(result.findStandardEncryptor("t_user", 
"cipher_mobile")).thenReturn(Optional.of(mock(StandardEncryptAlgorithm.class)));
-        when(result.getEncryptValues(null, "db_test", "t_user", "mobile", 
Collections.singletonList(0))).thenReturn(Collections.singletonList("encryptValue"));
+        when(result.encrypt(null, "db_test", "t_user", "mobile", 
Collections.singletonList(0))).thenReturn(Collections.singletonList("encryptValue"));
         return result;
     }
     
diff --git 
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rule/EncryptRuleTest.java
 
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rule/EncryptRuleTest.java
index 055228dc9a7..3714e8b1c4f 100644
--- 
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rule/EncryptRuleTest.java
+++ 
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rule/EncryptRuleTest.java
@@ -67,7 +67,7 @@ class EncryptRuleTest {
     @Test
     void assertGetEncryptValues() {
         List<Object> encryptAssistedQueryValues = new 
EncryptRule(createEncryptRuleConfiguration())
-                .getEncryptValues(DefaultDatabase.LOGIC_NAME, 
DefaultDatabase.LOGIC_NAME, "t_encrypt", "pwd", 
Collections.singletonList(null));
+                .encrypt(DefaultDatabase.LOGIC_NAME, 
DefaultDatabase.LOGIC_NAME, "t_encrypt", "pwd", 
Collections.singletonList(null));
         for (Object each : encryptAssistedQueryValues) {
             assertNull(each);
         }
@@ -86,7 +86,7 @@ class EncryptRuleTest {
     
     @Test
     void assertGetLogicAndCipherColumns() {
-        assertFalse(new 
EncryptRule(createEncryptRuleConfiguration()).getLogicAndCipherColumns("t_encrypt").isEmpty());
+        assertFalse(new 
EncryptRule(createEncryptRuleConfiguration()).getLogicAndCipherColumnsMap("t_encrypt").isEmpty());
     }
     
     @Test
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/context/ProxyContextTest.java
 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/context/ProxyContextTest.java
index 4bf1d0de487..5ac7fede1d0 100644
--- 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/context/ProxyContextTest.java
+++ 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/context/ProxyContextTest.java
@@ -134,8 +134,9 @@ class ProxyContextTest {
         Map<String, ShardingSphereDatabase> result = new LinkedHashMap<>(10, 
1F);
         for (int i = 0; i < 10; i++) {
             ShardingSphereDatabase database = 
mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS);
-            when(database.getName()).thenReturn(String.format(SCHEMA_PATTERN, 
i));
-            result.put(String.format(SCHEMA_PATTERN, i), database);
+            String databaseName = String.format(SCHEMA_PATTERN, i);
+            when(database.getName()).thenReturn(databaseName);
+            result.put(databaseName, database);
         }
         return result;
     }

Reply via email to