java返回datatable_在Java中实现.net中DataTable功能以及操作双数据库的List连接问题解决方案探究...

本文介绍了如何在Java中实现.NET的DataTable功能,包括多表查询,以及解决双数据库操作的问题。通过示例展示了如何创建和使用DataTable,包括Junit测试中的数据合并操作。此外,文章还提供了SqlParameter类用于数据库参数化,以及DataTable、DataRow和DataColumn类的详细实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前两天实现了net中DataTable功能,虽说功能不是很强大,但是完全满足了java中的多表查询,带来的编程风格改变还是存在的。

现在拿出来说下,和各位大哥探讨下。

因为我本来就是搞net的,突然来了两个项目就是要用java以及oracle,便从各种方向上寻求net的影子,便有了今天这些工具类。

不知道好不好,bug测试了一下了,性能上也只有经过项目来验证吧!!!

其中一部分涉及到双数据库操作,所以也提了一种解决方案,写的不好,大家看看吧!

我们先看效果,再说说怎么弄!

我们来试试如何用,我也写了一个测试数据

e3ee858ac3a4a798ba7480b21935820b.png

d8d2cf38a8c602532300dcd274609814.png

然后我们在Junit中测试

@Test

public void joinTable() {

JingZongDB jzdb=new JingZongDB();

DataTable dt1=jzdb.getDataTable("select * from newsType");

DataTable dt2=jzdb.getDataTable("select * from news");

DataTable dt=DataTable.joinTable(dt1, dt2, "id", "typeid");

wl("新闻类型表:"+dt1.getRow().size());

DataTable.outTable(dt1);

wl("新闻表:"+dt2.getRow().size());

DataTable.outTable(dt2);

wl("合并后:"+dt.getRow().size());

DataTable.outTable(dt);

}

private void wl(String s) {

System.out.println(s);

}

最后结果为

新闻类型表:4

id:1 typeName:学生工作

id:2 typeName:通知公告

id:3 typeName:招生简章

id:4 typeName:教务信息

新闻表:16

id:1 typeid:1 newsName:学生工作1

id:2 typeid:1 newsName:学生工作2

id:3 typeid:1 newsName:学生工作3

id:4 typeid:1 newsName:学生工作4

id:5 typeid:2 newsName:通知公告1

id:6 typeid:2 newsName:通知公告2

id:7 typeid:2 newsName:通知公告3

id:8 typeid:2 newsName:通知公告4

id:9 typeid:3 newsName:招生简章1

id:10 typeid:3 newsName:招生简章2

id:11 typeid:3 newsName:招生简章3

id:12 typeid:3 newsName:招生简章4

id:13 typeid:4 newsName:教务信息1

id:14 typeid:4 newsName:教务信息2

id:15 typeid:4 newsName:教务信息3

id:16 typeid:4 newsName:教务信息4

合并后:16

id:1 typeName:学生工作 id:1 typeid:1 newsName:学生工作1

id:1 typeName:学生工作 id:2 typeid:1 newsName:学生工作2

id:1 typeName:学生工作 id:3 typeid:1 newsName:学生工作3

id:1 typeName:学生工作 id:4 typeid:1 newsName:学生工作4

id:2 typeName:通知公告 id:5 typeid:2 newsName:通知公告1

id:2 typeName:通知公告 id:6 typeid:2 newsName:通知公告2

id:2 typeName:通知公告 id:7 typeid:2 newsName:通知公告3

id:2 typeName:通知公告 id:8 typeid:2 newsName:通知公告4

id:3 typeName:招生简章 id:9 typeid:3 newsName:招生简章1

id:3 typeName:招生简章 id:10 typeid:3 newsName:招生简章2

id:3 typeName:招生简章 id:11 typeid:3 newsName:招生简章3

id:3 typeName:招生简章 id:12 typeid:3 newsName:招生简章4

id:4 typeName:教务信息 id:13 typeid:4 newsName:教务信息1

id:4 typeName:教务信息 id:14 typeid:4 newsName:教务信息2

id:4 typeName:教务信息 id:15 typeid:4 newsName:教务信息3

id:4 typeName:教务信息 id:16 typeid:4 newsName:教务信息4

现在说如何实现

1 实现,net数据库参数化

package cdu.yas.xykps.util;

import java.sql.Blob;

import java.sql.Date;

/**

* @功能描述 sql参数,sql执行时传递的参数用此类封装

* 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值