diff --git a/dict-trans-demo/src/main/java/com/aizuda/trans/demo/impl/DemoServiceImpl.java b/dict-trans-demo/src/main/java/com/aizuda/trans/demo/impl/DemoServiceImpl.java index 291c609..5ba8130 100644 --- a/dict-trans-demo/src/main/java/com/aizuda/trans/demo/impl/DemoServiceImpl.java +++ b/dict-trans-demo/src/main/java/com/aizuda/trans/demo/impl/DemoServiceImpl.java @@ -3,7 +3,12 @@ package com.aizuda.trans.demo.impl; import cn.hutool.core.collection.CollUtil; import com.aizuda.trans.annotation.Translator; import com.aizuda.trans.demo.DemoService; -import com.aizuda.trans.entity.*; +import com.aizuda.trans.entity.Device; +import com.aizuda.trans.entity.People; +import com.aizuda.trans.entity.People2; +import com.aizuda.trans.entity.People3; +import com.aizuda.trans.entity.People4; +import com.aizuda.trans.entity.Result; import org.springframework.stereotype.Component; import java.util.List; @@ -46,7 +51,8 @@ public class DemoServiceImpl implements DemoService { public List dbDemo() { People2 man = People2.builder().id("1").build(); People2 woman = People2.builder().id("2").build(); - return CollUtil.newArrayList(man, woman); + People2 more = People2.builder().id("1,2").build(); + return CollUtil.newArrayList(man, woman, more); } @Translator diff --git a/dict-trans-demo/src/main/java/com/aizuda/trans/entity/People2.java b/dict-trans-demo/src/main/java/com/aizuda/trans/entity/People2.java index e0e2896..091366b 100644 --- a/dict-trans-demo/src/main/java/com/aizuda/trans/entity/People2.java +++ b/dict-trans-demo/src/main/java/com/aizuda/trans/entity/People2.java @@ -17,11 +17,13 @@ import lombok.NoArgsConstructor; @NoArgsConstructor @AllArgsConstructor public class People2 { - + /** 数据库翻译 */ - @Translate(dictClass = UserDB.class, translateField = "name") + @Translate(dictClass = UserDB.class, translateField = {"name", "sex"}) private String id; - + private String name; - + + private String sex; + } diff --git a/dict-trans-demo/src/main/java/com/aizuda/trans/entity/UserDB.java b/dict-trans-demo/src/main/java/com/aizuda/trans/entity/UserDB.java index 367b6f6..c42dadd 100644 --- a/dict-trans-demo/src/main/java/com/aizuda/trans/entity/UserDB.java +++ b/dict-trans-demo/src/main/java/com/aizuda/trans/entity/UserDB.java @@ -12,7 +12,7 @@ import com.baomidou.mybatisplus.annotation.TableName; * @author nn200433 * @date 2022-12-16 016 14:07:27 */ -@Dictionary(codeColumn = "id", textColumn = {"user_name"}) +@Dictionary(codeColumn = "id", textColumn = {"user_name", "sex"}) @TableName("sys_user") public class UserDB { @@ -21,5 +21,8 @@ public class UserDB { @TableField(value = "user_name") private String name; - + + @TableField(value = "sex") + private String sex; + } diff --git a/dict-trans-spring-boot-starter/src/main/java/com/aizuda/trans/service/impl/DataBaseTranslator.java b/dict-trans-spring-boot-starter/src/main/java/com/aizuda/trans/service/impl/DataBaseTranslator.java index e0856ef..165148d 100644 --- a/dict-trans-spring-boot-starter/src/main/java/com/aizuda/trans/service/impl/DataBaseTranslator.java +++ b/dict-trans-spring-boot-starter/src/main/java/com/aizuda/trans/service/impl/DataBaseTranslator.java @@ -77,10 +77,11 @@ public class DataBaseTranslator implements Translatable { // 传入数据:1,2,3 // 查询结果:["张三","李四","王五"] // 返回结果:张三、李四、王五 - final String field = textColumnArray[0]; where.set(codeColumn, StrUtil.split(origin, StrUtil.COMMA)); List entityList = Db.use(dataSource).find(where, EntityListHandler.create(), textColumnArray); - rsList.add(entityList.stream().map(e -> e.getStr(field)).collect(Collectors.joining("、"))); + for (String column : textColumnArray) { + rsList.add(entityList.stream().map(e -> e.getStr(column)).collect(Collectors.joining("、"))); + } } else { // 单条记录多列(查询结果为单条多列,循环后为多条,根据传入的字段顺序返回) // 传入数据:1 diff --git a/doc/t_test.sql b/doc/t_test.sql index ae30f40..27ff503 100644 --- a/doc/t_test.sql +++ b/doc/t_test.sql @@ -1,38 +1,34 @@ /* - Navicat Premium Data Transfer - - Source Server : 公司mysql-新 - Source Server Type : MySQL - Source Server Version : 50739 - Source Host : 192.168.0.44:3306 - Source Schema : t_test - - Target Server Type : MySQL - Target Server Version : 50739 - File Encoding : 65001 - - Date: 18/04/2023 11:36:32 + Date: 29/02/2024 20:25:24 */ SET NAMES utf8mb4; -SET FOREIGN_KEY_CHECKS = 0; +SET +FOREIGN_KEY_CHECKS = 0; -- ---------------------------- -- Table structure for sys_user -- ---------------------------- DROP TABLE IF EXISTS `sys_user`; -CREATE TABLE `sys_user` ( - `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键', - `user_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户名', - PRIMARY KEY (`id`) USING BTREE +CREATE TABLE `sys_user` +( + `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键', + `user_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户名', + `sex` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '性别', + PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of sys_user -- ---------------------------- -INSERT INTO `sys_user` VALUES ('1', '张三'); -INSERT INTO `sys_user` VALUES ('2', '李四'); -INSERT INTO `sys_user` VALUES ('3', '王五'); -INSERT INTO `sys_user` VALUES ('4', '赵六'); +INSERT INTO `sys_user` +VALUES ('1', '张三', '男'); +INSERT INTO `sys_user` +VALUES ('2', '李四', '女'); +INSERT INTO `sys_user` +VALUES ('3', '王五', '娚'); +INSERT INTO `sys_user` +VALUES ('4', '赵六', '嬲'); -SET FOREIGN_KEY_CHECKS = 1; +SET +FOREIGN_KEY_CHECKS = 1;