![]() |
1
8
对于一般的JDBCAPI,没有一个简单的方法(至少我不知道,也找不到……我在自己的工具集中有完全相同的代码)。 (您的代码不完整):
也就是说,如果您使用专有的、特定于数据库的API和/或SQL查询,我确信您可以找到更优雅的方法来执行相同的操作……但您必须为需要处理的每个数据库编写自定义代码。如果我是你,我会坚持使用JDBCAPI。 你提出的解决方案中有什么让你觉得不正确的地方吗?我觉得这很简单… |
![]() |
2
8
如果列不在cachedRowset中,则可以采用更短的方法来使用findcolumn()将为invalidColumname引发一个sqlException。 例如
可能是滥用了异常处理(根据effectiveJava第二版第57项),但它是循环遍历元数据中所有列的替代方法。 |
![]() |
3
1
哪个数据库? 我认为在Oracle中,有一些表列出了列。 我不记得它是否也适用于视图,但我想它们确实适用,它类似于:
或
我不记得确切的语法。不过,您应该拥有空间权限。 每个RDBMS都应该有类似的东西。 您还可以执行查询
并且从元数据中获取列,如果您希望它避免在获取数据之前了解列是否存在。 |
![]() |
4
1
不,真的没有更好的方法。您可能需要重新确定问题所在。如果您可以重新定义问题,有时它会使解决方案更简单,因为问题已经改变了。 |
![]() |
5
0
警告:以下注释完全来自内存,没有任何支持性文档:) 如果我没记错的话,当Oracle缓存的行集实现与连接池一起使用时,有一个神秘的问题让我想起了它曾经那么丑陋的一面。似乎有一个对缓存行集对象中保持的连接的无声引用(即使它应该断开连接),它关闭了随后在垃圾收集时从池中打开的另一个连接。出于这个原因,我最终放弃并编写了自己的数据对象层(现在我将把它移交给Spring&Hibernate)。 |
![]() |
6
0
旧线程,但我刚刚遇到了同样的问题,最终得到了一个实用函数:
如果我们不必在lambda中捕获异常(没有一些难看的黑客),那将是非常激烈的。 |
![]() |
user6748530 · 将动态XML文件加载到树视图控件 7 年前 |
![]() |
Ishan Khare · Kotlin无法导入包 7 年前 |
![]() |
H4p7ic · 排序服务总线队列消息 7 年前 |
![]() |
user3026965 · 导出到时,在文件名中插入时间戳。csv 7 年前 |
![]() |
user2861089 · 从基因组gbff文件中提取元数据 7 年前 |