代码完善(dev): 数据库翻译的多条记录支持取多列
This commit is contained in:
parent
30c4bece15
commit
156389e012
@ -3,7 +3,12 @@ package com.aizuda.trans.demo.impl;
|
|||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import com.aizuda.trans.annotation.Translator;
|
import com.aizuda.trans.annotation.Translator;
|
||||||
import com.aizuda.trans.demo.DemoService;
|
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 org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -46,7 +51,8 @@ public class DemoServiceImpl implements DemoService {
|
|||||||
public List<People2> dbDemo() {
|
public List<People2> dbDemo() {
|
||||||
People2 man = People2.builder().id("1").build();
|
People2 man = People2.builder().id("1").build();
|
||||||
People2 woman = People2.builder().id("2").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
|
@Translator
|
||||||
|
@ -17,11 +17,13 @@ import lombok.NoArgsConstructor;
|
|||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class People2 {
|
public class People2 {
|
||||||
|
|
||||||
/** 数据库翻译 */
|
/** 数据库翻译 */
|
||||||
@Translate(dictClass = UserDB.class, translateField = "name")
|
@Translate(dictClass = UserDB.class, translateField = {"name", "sex"})
|
||||||
private String id;
|
private String id;
|
||||||
|
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
|
private String sex;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -12,7 +12,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
|
|||||||
* @author nn200433
|
* @author nn200433
|
||||||
* @date 2022-12-16 016 14:07:27
|
* @date 2022-12-16 016 14:07:27
|
||||||
*/
|
*/
|
||||||
@Dictionary(codeColumn = "id", textColumn = {"user_name"})
|
@Dictionary(codeColumn = "id", textColumn = {"user_name", "sex"})
|
||||||
@TableName("sys_user")
|
@TableName("sys_user")
|
||||||
public class UserDB {
|
public class UserDB {
|
||||||
|
|
||||||
@ -21,5 +21,8 @@ public class UserDB {
|
|||||||
|
|
||||||
@TableField(value = "user_name")
|
@TableField(value = "user_name")
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
|
@TableField(value = "sex")
|
||||||
|
private String sex;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -77,10 +77,11 @@ public class DataBaseTranslator implements Translatable {
|
|||||||
// 传入数据:1,2,3
|
// 传入数据:1,2,3
|
||||||
// 查询结果:["张三","李四","王五"]
|
// 查询结果:["张三","李四","王五"]
|
||||||
// 返回结果:张三、李四、王五
|
// 返回结果:张三、李四、王五
|
||||||
final String field = textColumnArray[0];
|
|
||||||
where.set(codeColumn, StrUtil.split(origin, StrUtil.COMMA));
|
where.set(codeColumn, StrUtil.split(origin, StrUtil.COMMA));
|
||||||
List<Entity> entityList = Db.use(dataSource).find(where, EntityListHandler.create(), textColumnArray);
|
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 {
|
} else {
|
||||||
// 单条记录多列(查询结果为单条多列,循环后为多条,根据传入的字段顺序返回)
|
// 单条记录多列(查询结果为单条多列,循环后为多条,根据传入的字段顺序返回)
|
||||||
// 传入数据:1
|
// 传入数据:1
|
||||||
|
@ -1,38 +1,34 @@
|
|||||||
/*
|
/*
|
||||||
Navicat Premium Data Transfer
|
Date: 29/02/2024 20:25:24
|
||||||
|
|
||||||
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
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
SET NAMES utf8mb4;
|
SET NAMES utf8mb4;
|
||||||
SET FOREIGN_KEY_CHECKS = 0;
|
SET
|
||||||
|
FOREIGN_KEY_CHECKS = 0;
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Table structure for sys_user
|
-- Table structure for sys_user
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
DROP TABLE IF EXISTS `sys_user`;
|
DROP TABLE IF EXISTS `sys_user`;
|
||||||
CREATE TABLE `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 '用户名',
|
`id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键',
|
||||||
PRIMARY KEY (`id`) USING BTREE
|
`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;
|
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Records of sys_user
|
-- Records of sys_user
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
INSERT INTO `sys_user` VALUES ('1', '张三');
|
INSERT INTO `sys_user`
|
||||||
INSERT INTO `sys_user` VALUES ('2', '李四');
|
VALUES ('1', '张三', '男');
|
||||||
INSERT INTO `sys_user` VALUES ('3', '王五');
|
INSERT INTO `sys_user`
|
||||||
INSERT INTO `sys_user` VALUES ('4', '赵六');
|
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