java 动态行转列_Java中实现行转列

在面临表头数量不确定的项目需求时,由于数据库行转列可能影响性能,选择在Java后端进行转换。通过反射获取实体类字段,创建对应数量的列表并填充数据,最后返回转换后的列表数据。测试实体类`UserInfo`包含userId、password、usernname和truename等字段,转换结果以实体类字段顺序展示。
摘要由CSDN通过智能技术生成

最近在做一个项目,表头数量不确定,动态的增加或者减少。考虑到在数据库做行转列可能性能有点差,就转到Java中转换。

数据库中展示如下

5b04b7da7ad5

image

后台代码实现

public List convert(Class clazz,List list){

List result;

Field[] fields = clazz.getDeclaredFields();

result = new ArrayList<>(fields.length);

for (int i = 0; i < fields.length; i++) {

result.add(new ArrayList());

}

for (T t : list) {

for (int i = 0; i < fields.length; i++) {

List l = result.get(i);

Field field = fields[i];

field.setAccessible(true);

try {

l.add(field.get(t));

} catch (IllegalAccessException e) {

e.printStackTrace();

}

}

}

return result;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值