From 76aed76031ed69f6a11c71811a6ccca384c16361 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=80=E6=BA=90=E6=B5=B7=E5=93=A5?= Date: Fri, 17 Mar 2023 09:16:05 +0800 Subject: [PATCH] update docs --- .../mybatisflex/test/EntityTestStarter.java | 2 + readme_zh.md | 44 +++++++++++++++++++ 2 files changed, 46 insertions(+) diff --git a/mybatis-flex-test/mybatis-flex-native-test/src/main/java/com/mybatisflex/test/EntityTestStarter.java b/mybatis-flex-test/mybatis-flex-native-test/src/main/java/com/mybatisflex/test/EntityTestStarter.java index 8aeb0067..121bbb96 100644 --- a/mybatis-flex-test/mybatis-flex-native-test/src/main/java/com/mybatisflex/test/EntityTestStarter.java +++ b/mybatis-flex-test/mybatis-flex-native-test/src/main/java/com/mybatisflex/test/EntityTestStarter.java @@ -118,6 +118,8 @@ public class EntityTestStarter { optionsAccount.addOption("c1", 11); optionsAccount.addOption("c2", "zhang"); optionsAccount.addOption("c3", new Date()); + + bootstrap.execute(AccountMapper.class, accountMapper -> accountMapper.insert(optionsAccount)); System.out.println(">>>>>>> optionsAccount: " + optionsAccount.getId()); diff --git a/readme_zh.md b/readme_zh.md index 283b675f..dca85ae0 100644 --- a/readme_zh.md +++ b/readme_zh.md @@ -447,6 +447,50 @@ set user_name = ?, sex = ? where id = ? #params: null,1,100 ``` + +## 自定义 TypeHandler + +使用 @column 注解: + +```java +@Table("tb_account") +public class Account { + + @Id(keyType = KeyType.Auto) + private Long id; + + private String userName; + + @Column(typeHandler = Fastjson2TypeHandler.class) + private Map options; + + //getter setter + + public void addOption(String key, Object value) { + if (options == null) { + options = new HashMap<>(); + } + options.put(key, value); + } + +} +``` + +插入数据: + +```java +Account account = new Account(); +account.setUserName("test"); +account.addOption("c1", 11); +account.addOption("c2", "zhang"); +account.addOption("c3", new Date()); +``` +mybatis 日志: +``` +==> Preparing: INSERT INTO `tb_account`(user_name, options) VALUES (?, ?) +==> Parameters: test(String), {"c3":"2023-03-17 09:10:16.546","c1":11,"c2":"zhang"}(String) +``` + ## 多主键 Mybatis-Flex 多主键就是在 Entity 类里有多个 `@Id` 注解标识而已,比如: