query-with-plain.yaml 2.8 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

dataSources:
  db: !!com.zaxxer.hikari.HikariDataSource
    driverClassName: org.h2.Driver
    jdbcUrl: jdbc:h2:mem:db;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;MODE=MYSQL
    username: sa
    password:

shardingRule:
  tables:
    t_account:
      actualDataNodes: db.t_account_${0..1}
      tableStrategy: 
30
        standard:
31
          shardingColumn: account_id
32 33 34 35
          shardingAlgorithm:
            type: INLINE
            props:
              algorithm.expression: t_account_${account_id % 2}
36 37 38 39 40 41
      keyGenerator:
        type: TEST
        column: account_id
    t_account_bak:
      actualDataNodes: db.t_account_bak_${0..1}
      tableStrategy: 
42
        standard:
43
          shardingColumn: account_id
44 45 46 47
          shardingAlgorithm:
            type: INLINE
            props:
              algorithm.expression: t_account_bak_${account_id % 2}
48 49 50 51 52 53
      keyGenerator:
        type: TEST
        column: account_id
    t_account_detail:
      actualDataNodes: db.t_account_detail_${0..1}
      tableStrategy: 
54
        standard:
55
          shardingColumn: account_id
56 57 58 59
          shardingAlgorithm:
            type: INLINE
            props:
              algorithm.expression: t_account_${account_id % 2}
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
  bindingTables:
    - t_account, t_account_detail
  
  encryptRule:
    tables:
      t_account:
        columns:
          password:
            cipherColumn: cipher_password
            assistedQueryColumn: assisted_query_password
            encryptor: assisted_query
          amount:
            cipherColumn: cipher_amount
            encryptor: normal
      t_account_bak:
        columns:
          password:
            cipherColumn: cipher_password
            assistedQueryColumn: assisted_query_password
            plainColumn: plain_password
            encryptor: assisted_query
          amount:
            cipherColumn: cipher_amount
            plainColumn: plain_amount
            encryptor: normal
    encryptors:
      normal:
        type: NORMAL_ENCRYPT
      assisted_query:
        type: ASSISTED_QUERY_ENCRYPT

props:
  query.with.cipher.column: false