Skip to content

Commit dc1ad0a

Browse files
committed
数据脱敏
1 parent fda4e59 commit dc1ad0a

File tree

6 files changed

+96
-15
lines changed

6 files changed

+96
-15
lines changed
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
package com.xiaofu.sharding.contoller;
2+
3+
import com.alibaba.fastjson.JSON;
4+
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5+
import com.xiaofu.sharding.mapper.ConfigRepository;
6+
import com.xiaofu.sharding.mapper.OrderItemRepository;
7+
import com.xiaofu.sharding.mapper.OrderRepository;
8+
import com.xiaofu.sharding.mapper.UserRepository;
9+
import com.xiaofu.sharding.model.TConfig;
10+
import com.xiaofu.sharding.model.TOrder;
11+
import com.xiaofu.sharding.model.TOrderDto;
12+
import com.xiaofu.sharding.model.TUser;
13+
import org.springframework.beans.factory.annotation.Autowired;
14+
import org.springframework.stereotype.Controller;
15+
import org.springframework.util.StringUtils;
16+
import org.springframework.web.bind.annotation.GetMapping;
17+
import org.springframework.web.bind.annotation.RequestMapping;
18+
import org.springframework.web.bind.annotation.ResponseBody;
19+
20+
import java.math.BigDecimal;
21+
import java.util.Date;
22+
import java.util.List;
23+
24+
25+
@Controller
26+
@RequestMapping
27+
public class UserController {
28+
29+
@Autowired
30+
private UserRepository userRepository;
31+
32+
@GetMapping(value = "/insertUser")
33+
@ResponseBody
34+
public String insertUser() {
35+
36+
TUser user = new TUser();
37+
user.setUserId(100L);
38+
user.setUserName("程序员内点事");
39+
user.setMobileNo("1316656565");
40+
userRepository.insert(user);
41+
42+
43+
List<TUser> tUsers = userRepository.selectList(null);
44+
return JSON.toJSONString(tUsers);
45+
}
46+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.xiaofu.sharding.mapper;
2+
3+
4+
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5+
import com.xiaofu.sharding.model.TUser;
6+
import org.apache.ibatis.annotations.Mapper;
7+
8+
9+
@Mapper
10+
public interface UserRepository extends BaseMapper<TUser> {
11+
12+
}
13+
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package com.xiaofu.sharding.model;
2+
3+
import lombok.Data;
4+
5+
@Data
6+
public class TUser {
7+
8+
private Long userId;
9+
10+
private String userName;
11+
12+
private String userNameCipher;
13+
14+
private String userNamePlain;
15+
16+
private String mobileNo;
17+
18+
private String mobileNoPlain;
19+
20+
private String mobileNoCipher;
21+
}

springboot-sharding-jdbc/src/main/resources/application.properties

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -36,20 +36,6 @@ spring.shardingsphere.sharding.tables.t_order.key-generator.props.worker.id=0000
3636
# 时钟回拨最大容忍值
3737
spring.shardingsphere.sharding.tables.t_order.key-generator.max.tolerate.time.difference.milliseconds=5
3838

39-
# 数据脱敏--设置加密器
40-
spring.shardingsphere.encrypt.encryptors.phone_encryptor.type=aes
41-
spring.shardingsphere.encrypt.encryptors.phone_encryptor.props.aes.key.value=123456
42-
spring.shardingsphere.encrypt.encryptors.phone_encryptor.qualifiedColumns = t_order.phone_no
43-
44-
45-
# 数据脱敏--密文字段和明文字段
46-
spring.shardingsphere.encrypt.tables.t_order.columns.phone_no.plainColumn=phone_no_plain
47-
spring.shardingsphere.encrypt.tables.t_order.columns.phone_no.cipherColumn=phone_no_cipher
48-
spring.shardingsphere.encrypt.tables.t_order.columns.phone_no.encryptor=phone_encryptor
49-
50-
# 数据脱敏--查询时是否查询密文
51-
spring.shardingsphere.props.query.with.cipher.comlum=true
52-
5339
# 配置分片表 t_order_item
5440
spring.shardingsphere.sharding.tables.t_order_item.actual-data-nodes=ds-$->{0..1}.t_order_item_$->{0..2}
5541
spring.shardingsphere.sharding.tables.t_order_item.database-strategy.inline.sharding-column=order_id
@@ -77,5 +63,15 @@ mybatis-plus.map-underscore-to-camel-case=true
7763
# 开启热部署(更改文件后,自动重启)
7864
spring.devtools.restart.enabled=true
7965

66+
# 数据脱敏--设置加密器
67+
spring.shardingsphere.encrypt.encryptors.user_name_encryptor.type=aes
68+
spring.shardingsphere.encrypt.encryptors.user_name_encryptor.props.aes.key.value=123456
69+
# 数据脱敏--密文字段和明文字段
70+
71+
spring.shardingsphere.encrypt.tables.t_user.columns.user_name.plainColumn=user_name_plain
72+
spring.shardingsphere.encrypt.tables.t_user.columns.user_name.cipherColumn=user_name_cipher
73+
spring.shardingsphere.encrypt.tables.t_user.columns.user_name.encryptor=user_name_encryptor
8074

75+
# 数据脱敏--查询时是否查询密文
76+
spring.shardingsphere.props.query.with.cipher.comlum=true
8177

springboot-sharding-jdbc/src/main/resources/generator/generatorConfig.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
<property name="enableSubPackages" value="false"/>
3434
</javaClientGenerator>
3535

36-
<table tableName="t_order_1" enableCountByExample="false" enableDeleteByExample="false"
36+
<table tableName="t_user" enableCountByExample="false" enableDeleteByExample="false"
3737
enableSelectByExample="false" enableUpdateByExample="false"/>
3838
</context>
3939
</generatorConfiguration>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3+
<mapper namespace="com.xiaofu.sharding.mapper.UserRepository">
4+
5+
</mapper>

0 commit comments

Comments
 (0)