首先,我是Java DB编程的新手,所以也许我的方法是错误的。所以请记住这一点。现在的问题是:
我的程序让用户打开现有的Java Derby数据库。当它打开时,我想检查数据库是否包含正确的表,并且每个表都有正确的列 - 不仅是名称,还有类型。到目前为止,我尝试创建每个表,如果它抛出异常,那么我知道该表存在。现在我需要检查列类型。这样做的最佳做法是什么?硬编码检查每个列类型是否在catch块中回答here?
答案 0 :(得分:0)
如果你想弄清楚数据库中有哪些表,每个表有哪些列等,有(至少)两种简单的方法:
针对Derby系统目录发出SQL查询,例如
选择s.schemaname || '' || t.tablename
来自sys.systables t,sys.sysschemas s
其中t.schemaid = s.schemaid
和t.tabletype =' T'
由s.schemaname,t.tablename;
使用getSchemas()
提供的API及其getTables()
,getColumns()
和import org.gradle.api.Plugin
import org.gradle.api.Project
class FooPlugin implements Plugin<Project> {
void apply(Project target) {
target.extensions.create("foo", FooExtension)
target.task('sometask', type: GreetingTask)
}
}
class FooExtension{
def sayHello(String text) {
println "Hello " + text
}
}