Skip to content

Commit 415d843

Browse files
author
Weasley
committed
- add default member json for Entity class
1 parent cbaf570 commit 415d843

File tree

5 files changed

+189
-0
lines changed

5 files changed

+189
-0
lines changed

mybatis-encrypt-spring-boot-starter/src/main/java/io/github/weasleyj/mybatis/encrypt/interceptor/DefaultMybatisEncryptInterceptor.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import org.apache.ibatis.executor.statement.StatementHandler;
1212
import org.apache.ibatis.mapping.BoundSql;
1313
import org.apache.ibatis.mapping.MappedStatement;
14+
import org.apache.ibatis.mapping.ParameterMapping;
1415
import org.apache.ibatis.plugin.Interceptor;
1516
import org.apache.ibatis.plugin.Intercepts;
1617
import org.apache.ibatis.plugin.Invocation;
-40 KB
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
package com.example.common.config;
2+
3+
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer;
4+
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
5+
import com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer;
6+
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer;
7+
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
8+
import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer;
9+
import org.springframework.beans.factory.annotation.Value;
10+
import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
11+
import org.springframework.context.annotation.Bean;
12+
import org.springframework.context.annotation.Configuration;
13+
14+
import java.time.LocalDate;
15+
import java.time.LocalDateTime;
16+
import java.time.LocalTime;
17+
import java.time.format.DateTimeFormatter;
18+
import java.util.TimeZone;
19+
20+
/**
21+
* Spring Boot中LocalDateTime日期格式处理
22+
*
23+
* @author liuwenjing
24+
*/
25+
@Configuration
26+
public class Jackson2ObjectMapperConfig {
27+
/**
28+
* 日期时间格式,没有在yml里面配置默认采用: yyyy-MM-dd HH:mm:ss
29+
*/
30+
@Value("${spring.jackson.date-format:yyyy-MM-dd HH:mm:ss}")
31+
private String pattern;
32+
/**
33+
* 时区,没有在yml里面配置默认采用: GMT+8
34+
*/
35+
@Value("${spring.jackson.time-zone:GMT+8}")
36+
private String timeZone;
37+
38+
/**
39+
* @return Jackson2ObjectMapperBuilderCustomizer
40+
*/
41+
@Bean
42+
public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {
43+
return builder -> {
44+
builder.serializerByType(LocalTime.class, new LocalTimeSerializer(DateTimeFormatter.ofPattern("HH:mm:ss")));
45+
builder.serializerByType(LocalDate.class, new LocalDateSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
46+
builder.serializerByType(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(pattern)));
47+
48+
builder.deserializerByType(LocalTime.class, new LocalTimeDeserializer(DateTimeFormatter.ofPattern("HH:mm:ss")));
49+
builder.deserializerByType(LocalDate.class, new LocalDateDeserializer(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
50+
builder.deserializerByType(LocalDateTime.class, new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern(pattern)));
51+
52+
builder.simpleDateFormat(pattern);
53+
builder.timeZone(TimeZone.getTimeZone(timeZone));
54+
};
55+
}
56+
}
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
{
2+
"pageNum": 1,
3+
"pageSize": 10,
4+
"total": 5,
5+
"pages": 1,
6+
"list": [
7+
{
8+
"memberId": 1,
9+
"openId": "fawezOE5sT",
10+
"nickname": "蒋震南",
11+
"isEnable": true,
12+
"balance": 865.0000,
13+
"birthday": "2022-12-20 01:58:00",
14+
"status": 0,
15+
"deleted": 1,
16+
"registrarDate": "2022-12-20",
17+
"accelerateBeginTime": "01:58:01",
18+
"accelerateEndTime": "01:58:01",
19+
"updateTime": "2022-12-20 01:58:00"
20+
},
21+
{
22+
"memberId": 2,
23+
"openId": "fawezOE5sT",
24+
"nickname": "蒋震南",
25+
"isEnable": true,
26+
"balance": 865.0000,
27+
"birthday": "2022-12-20 02:00:03",
28+
"status": 0,
29+
"deleted": 1,
30+
"registrarDate": "2022-12-20",
31+
"accelerateBeginTime": "02:00:03",
32+
"accelerateEndTime": "02:00:03",
33+
"updateTime": "2022-12-20 02:00:03"
34+
},
35+
{
36+
"memberId": 3,
37+
"openId": "fawezOE5sT",
38+
"nickname": "蒋震南",
39+
"isEnable": true,
40+
"balance": 865.0000,
41+
"birthday": "2022-12-20 02:00:04",
42+
"status": 0,
43+
"deleted": 1,
44+
"registrarDate": "2022-12-20",
45+
"accelerateBeginTime": "02:00:04",
46+
"accelerateEndTime": "02:00:04",
47+
"updateTime": "2022-12-20 02:00:04"
48+
},
49+
{
50+
"memberId": 4,
51+
"openId": "fawezOE5sT",
52+
"nickname": "蒋震南",
53+
"isEnable": true,
54+
"balance": 865.0000,
55+
"birthday": "2022-12-20 02:00:04",
56+
"status": 0,
57+
"deleted": 1,
58+
"registrarDate": "2022-12-20",
59+
"accelerateBeginTime": "02:00:05",
60+
"accelerateEndTime": "02:00:05",
61+
"updateTime": "2022-12-20 02:00:04"
62+
},
63+
{
64+
"memberId": 5,
65+
"openId": "fawezOE5sT",
66+
"nickname": "蒋震南",
67+
"isEnable": true,
68+
"balance": 865.0000,
69+
"birthday": "2022-12-20 02:00:06",
70+
"status": 0,
71+
"deleted": 1,
72+
"registrarDate": "2022-12-20",
73+
"accelerateBeginTime": "02:00:06",
74+
"accelerateEndTime": "02:00:06",
75+
"updateTime": "2022-12-20 02:00:06"
76+
}
77+
]
78+
}
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,67 @@
11
package com.example;
22

3+
import cn.alphahub.dtt.plus.util.JacksonUtil;
4+
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5+
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
6+
import com.example.common.page.PageWrapper;
7+
import com.example.demain.DttMember;
8+
import com.example.service.MemberService;
9+
import com.fasterxml.jackson.core.type.TypeReference;
10+
import org.apache.commons.io.IOUtils;
311
import org.junit.jupiter.api.Test;
12+
import org.springframework.beans.factory.annotation.Autowired;
413
import org.springframework.boot.test.context.SpringBootTest;
14+
import org.springframework.util.Assert;
15+
16+
import java.io.IOException;
17+
import java.nio.charset.StandardCharsets;
18+
import java.util.ArrayList;
19+
import java.util.List;
520

621
@SpringBootTest
722
class EncryptionTestsAppTests {
823

24+
@Autowired
25+
private MemberService memberService;
26+
927
@Test
1028
void contextLoads() {
1129
}
1230

31+
@Test
32+
void testBatchInsert() throws IOException {
33+
String resource = IOUtils.resourceToString("member.json", StandardCharsets.UTF_8, Thread.currentThread().getContextClassLoader());
34+
PageWrapper<DttMember> pageWrapper = JacksonUtil.readValue(resource, new TypeReference<PageWrapper<DttMember>>() {
35+
});
36+
37+
List<DttMember> list = pageWrapper.getList();
38+
List<DttMember> insertList = new ArrayList<>();
39+
int i = 1000;
40+
Long id = null;
41+
42+
DttMember one = memberService.getOne(new QueryWrapper<DttMember>().select("MAX(member_id) memberId"));
43+
if (null != one) {
44+
id = one.getMemberId();
45+
} else id = 1L;
46+
47+
for (DttMember dttMember : list) {
48+
i += 1;
49+
id += 1;
50+
dttMember.setMemberId(id + 1);
51+
dttMember.setNickname(dttMember.getNickname() + i);
52+
insertList.add(dttMember);
53+
}
54+
55+
boolean batch = memberService.saveBatch(insertList);
56+
Assert.isTrue(batch);
57+
}
58+
59+
@Test
60+
void testSelectByEncryptFiled() {
61+
List<DttMember> members = this.memberService.list(Wrappers.lambdaQuery(DttMember.class)
62+
.eq(DttMember::getNickname, "蒋震南1005")
63+
.eq(DttMember::getOpenId, "fawezOE5sT")
64+
);
65+
System.out.println(JacksonUtil.toPrettyJson(members));
66+
}
1367
}

0 commit comments

Comments
 (0)