代码完善(dev): 数据库翻译的多条记录支持取多列
This commit is contained in:
parent
54ef86967a
commit
87ff4e24fd
@ -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<People2> 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
|
||||
|
@ -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;
|
||||
|
||||
}
|
||||
|
@ -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;
|
||||
|
||||
}
|
||||
|
@ -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<Entity> 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
|
||||
|
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user