如何通过java程序查询出来与数据库中指定的表相关联的表呢?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何通过java程序查询出来与数据库中指定的表相关联的表呢?相关的知识,希望对你有一定的参考价值。
如果没有 sql 语句也行 ,最好是db2的 通用的sql语句更好 ,谢谢!
也就是说 给定一张表 这张表在数据库中是和其他表关联的,现在就是想查到它和那些表有关联?
比如数据库中有表 A,B,C ,D,E……等 现在假设A与B 和 C表都有关联 但是现在只给定A表 要求通过程序查出来B和C就是与A关联的表,不知道JDBC能不能实现,不行的话sql语句也行 通用的sql(使用数据库多)最好
如何解决本机 Java 或 Kotlin 中的错误“在依赖项的 AAR 元数据中指定的 minCompileSdk (31)”? [复制]
【中文标题】如何解决本机 Java 或 Kotlin 中的错误“在依赖项的 AAR 元数据中指定的 minCompileSdk (31)”? [复制]【英文标题】:How can I resolve the error "The minCompileSdk (31) specified in a dependency's AAR metadata" in native Java or Kotlin? [duplicate] 【发布时间】:2021-11-01 04:51:31 【问题描述】:错误信息:
在依赖项的 AAR 元数据中指定的 minCompileSdk (31) (META-INF/com/android/build/gradle/aar-metadata.properties) 更大 比这个模块的 compileSdkVersion (android-30)。依赖: androidx.core:core-ktx:1.7.0-alpha02.
AAR 元数据文件: C:\Users\mohammad.zeeshan1.gradle\caches\transforms-2\files-2.1\a20beb0771f59a8ddbbb8d416ea06a9d\jetified-core-ktx-1.7.0-alpha02\META-INF\com\android\build\gradle\aar-metadata .properties。
【问题讨论】:
(与这个问题不同,被提议的骗子有一个 MCVE) 简单的解决方案是让android compileSdk 30 到 compleSdk 31 通过让 targetSdkVersion = 31 & compileSdkVersion = 31 解决了我的问题。 youtube.com/watch?v=4gUzUuk9X0k -->OpenModuleSettings --> 依赖关系。然后降低 appcompat 的版本。 搜索引擎似乎更喜欢这个。这个问题目前在 Stack Overflow 上的top 20 in all younger questions(不到 2 岁左右)就查看率而言(自诞生以来每天大约有 800 次查看)。这超出了 5,000,000 个问题的数量级。 【参考方案1】:在您的build.gradle(app)
文件中将compileSdkVersion
和targetSdkVersion
设置为31
。
android
compileSdkVersion 31 // <-- This
defaultConfig
applicationId "com.example.app"
targetSdkVersion 31 // <-- and this too
// ...
【讨论】:
检查这个库:实现 'androidx.appcompat:appcompat:1.4.0' 更改为 1.3.1 版本。并修复了 resolutionStrategy force 'androidx.core:core:1.6.0' 也.. 我将其更改为 31 后,Gradle 构建失败。【参考方案2】:我找到了解决方案。在app Gradle文件中输入package上面这行代码。
对于 Kotlin 开发人员:
configurations.all
resolutionStrategy force 'androidx.core:core-ktx:1.6.0'
对于 Java 开发人员
configurations.all
resolutionStrategy force 'androidx.core:core:1.6.0'
【讨论】:
对于java开发者,去掉ktx
:resolutionStrategy force 'androidx.core:core:1.6.0'
我在 ReactNative 上仍然遇到同样的问题。添加这条线在我的项目中没有成功。有没有其他方法可以解决这个问题?
为什么会这样?我真的很惊讶;我的项目 gradle 将 kotlin 版本定义为 1.5.10!
为什么要这样做,而不是将 core-ktx 版本降级到 1.6.0? - 我是一个手机菜鸟...
对于北极狐来说,这个黑客似乎不再有效。我不得不将 build.gradle(应用程序)中的 compileSdk 从 30 提高到 31,正如这个答案中提到的 ***.com/a/69283902/624814。【参考方案3】:
终于可以解决我的问题了。
出了什么问题?
我在一个模块中有以下依赖项-
implementation "androidx.core:core-ktx:+"
但其他模块,包括 app 模块,具有以下依赖项
implementation "androidx.core:core-ktx:1.6.0"
转换
implementation "androidx.core:core-ktx:+"
到
implementation "androidx.core:core-ktx:1.6.0"
解决了我的问题。
【讨论】:
对我来说,只要我清除“+”,它就会建议使用 1.6.0 版本,然后使用该版本进行编译。所以我认为你应该检查自动建议并使用这个值。【参考方案4】:这个问题最常见于声明的库
implementation androidx.core:core-ktx:1.7.0-beta01
minCompileSdk
为 31,但minSdkVersion
明显更低。
增加项目的compileSdk
足以解决问题。无需覆盖甚至更改 targetSdk
。
android
compileSdk 31
...
【讨论】:
很好的答案。这是有关此问题的正确解决方案。由于修复了这个问题,我们可以改变 compile sdk。如果我们改变targetSdk,它会给出一些其他的问题,这不是这个问题修复所需要的。【参考方案5】:在使用Jetpack Compose导航时,我遇到了这个问题...
我使用的是androidx.navigation:navigation-compose:2.4.0-alpha07
所以我用另一个版本解决了:
`androidx.navigation:navigation-compose:2.4.0-alpha06`
【讨论】:
问题存在于alpha07和alpha08。将其更改为 06 解决了我的问题。 (我想用 SDK 30 编译它,但从来没有版本需要 SDK 31)【参考方案6】:您需要将编译 SDK 更新到 31。它听起来当前设置为 30。在您的 Gradle 文件中,android
中应该有类似 compileSdk
的内容块。
将其提高到 31。如果由于某种原因这是一个问题,您还可以将依赖项降低到不需要该编译 SDK 版本的版本。
【讨论】:
还有其他解决方案吗?我不能这样做,因为这样做后一些依赖关系会中断。 面临同样的问题..任何解决方案保持我的编译 sdk 版本 30 ? 使用实现“androidx.core:core-ktx:1.3.0”【参考方案7】:几天前我在一个正在运行的 react-native 项目中遇到了这个问题,突然我收到了这个错误:
* What went wrong:
Execution failed for task ':app:checkDevDebugAarMetadata'.
> Multiple task action failures occurred:
> A failure occurred while executing com.android.build.gradle.internal.tasks.CheckAarMetadataWorkAction
> The minCompileSdk (31) specified in a
dependency's AAR metadata (META-INF/com/android/build/gradle/aar-metadata.properties)
is greater than this module's compileSdkVersion (android-30).
Dependency: androidx.core:core-ktx:1.7.0-alpha02.
AAR metadata file: /Users/me/.gradle/caches/transforms-2/files-2.1/ed22ee8b86d25659bbef1e9ee203b75c/jetified-core-ktx-1.7.0-alpha02/META-INF/com/android/build/gradle/aar-metadata.properties.
> A failure occurred while executing com.android.build.gradle.internal.tasks.CheckAarMetadataWorkAction
> The minCompileSdk (31) specified in a
dependency's AAR metadata (META-INF/com/android/build/gradle/aar-metadata.properties)
is greater than this module's compileSdkVersion (android-30).
Dependency: androidx.core:core:1.7.0-alpha02.
AAR metadata file: /Users/me/.gradle/caches/transforms-2/files-2.1/23234efc7e9de9bfe6a3fea85a6072ef/core-1.7.0-alpha02/META-INF/com/android/build/gradle/aar-metadata.properties.
阅读错误消息后,我了解到问题出在androidx.core:core-ktx
,因此我对其进行了更多搜索,发现去年9月1日刚刚发布了一个新版本https://androidx.tech/artifacts/core/core-ktx/,即https://androidx.tech/artifacts/core/core-ktx/1.7.0-alpha02,其中targetSdkVersion = 31
我运行grep -r "androidx.core:core-ktx" node_modules
并发现我有一个具有implementation "androidx.core:core-ktx:+"
的依赖项,它将在我安装应用程序时安装最新版本。我不能只更新到 31,因为它似乎破坏了我的一些依赖项的代码,我会得到:
unrecognized Attribute name MODULE (class com.sun.tools.javac.util.SharedNameTable$NameImpl)
我真的不知道如何解决并且找不到任何线索,这很可能是因为它是新的。
作为一种解决方法,存档android/app/build.gradle
在android
块之前添加以下块。
configurations.all
resolutionStrategy force 'androidx.core:core-ktx:1.7.0-alpha01'
这样做之后,它对我有用。它将强制所有androidx.core:core-ktx
为1.7.0-alpha01
【讨论】:
我跑了grep -r "androidx.core:core-ktx" node_modules
并没有得到任何输出。我仍然收到此错误。
我刚刚在我的 react-native 项目上为 android 构建时遇到了这个错误,这不是由于 androidx.core:core-ktx
而是由于 androidx.browser:browser
。这来自库react-native-inappbrowser-reborn
,它指定android 包版本为1+。一次 gradle 同步后,androidx.browser
版本 1.4.0-alpha01 被引入,导致这个错误。此处建议修复github.com/proyecto26/react-native-inappbrowser/issues/298
无论如何,您收到的关于 MODULE 等的错误将通过 JDK11 解决,JDK8 不适用于 API31 android sdk 级别【参考方案8】:
我遇到了同样的问题,发现问题出在生命周期库上。
我是从测试版改过来的,
androidx.lifecycle:lifecycle-livedata:2.4.0beta1
到当前稳定版本,
androidx.lifecycle:lifecycle-livedata:2.3.1
检查Android website for versions。
【讨论】:
现在即使是新的稳定版本 2.4.0 也会抛出这个错误。 这是唯一对我有用的解决方案,无需增加编译版本。谢谢以上是关于如何通过java程序查询出来与数据库中指定的表相关联的表呢?的主要内容,如果未能解决你的问题,请参考以下文章
在构建 Java GraphQL API 时,如何避免从数据库中过度获取(即仅获取查询中指定的字段)?
如何在mysql中定时清除所有库中指定的表中的数据,而不用每个库都写一遍定时任务,求大神指点!!!
Seven——tornado操作之用户注册功能的实现(用户注册的表单信息进行简单的验证并存储到数据库中指定的表中);用户登录功能的修补完善
如何解决本机 Java 或 Kotlin 中的错误“在依赖项的 AAR 元数据中指定的 minCompileSdk (31)”? [复制]