匹配例程
适用于 ✅ 开源版 ✅ 专业版 ✅ 企业版
以下示例展示了如何为生成的 org.jooq.Routine 类型和相关对象定义 MatcherStrategy
XML(独立和 Maven)
编程方式
Gradle (Kotlin)
Gradle (Groovy)
Gradle(第三方)
<configuration>
<!-- These properties can be added directly to the generator element: -->
<generator>
<strategy>
<matchers>
<!-- Specify 0..n routine matchers to provide a strategy for naming objects created from routines. -->
<routines>
<routine>
<!-- Match unqualified or qualified routine names. If left empty, this matcher applies to all routines. -->
<expression>MY_ROUTINE</expression>
<!-- These elements influence the naming of a generated org.jooq.Routine object. -->
<routineClass> a MatcherRule specification </routineClass>
<routineMethod> a MatcherRule specification </routineMethod>
<routineExtends>com.example.MyOptionalRoutineBaseType</routineExtends>
<routineImplements>com.example.MyOptionalCustomInterface</routineImplements>
</routine>
</routines>
</matchers>
</strategy>
</generator>
</configuration>
有关更多详细信息,请参阅配置 XSD、独立代码生成和maven 代码生成。
new org.jooq.meta.jaxb.Configuration()
// These properties can be added directly to the generator element:
.withGenerator(new Generator()
.withStrategy(new Strategy()
.withMatchers(new Matchers()
// Specify 0..n routine matchers to provide a strategy for naming objects created from routines.
.withRoutines(
new MatchersRoutineType()
// Match unqualified or qualified routine names. If left empty, this matcher applies to all routines.
.withExpression("MY_ROUTINE")
// These elements influence the naming of a generated org.jooq.Routine object.
.withRoutineClass(MatcherRule. a MatcherRule specification )
.withRoutineMethod(MatcherRule. a MatcherRule specification )
.withRoutineExtends("com.example.MyOptionalRoutineBaseType")
.withRoutineImplements("com.example.MyOptionalCustomInterface")
)
)
)
)
import org.jooq.meta.jaxb.*
configuration {
// These properties can be added directly to the generator element:
generator {
strategy {
matchers {
// Specify 0..n routine matchers to provide a strategy for naming objects created from routines.
routines {
routine {
// Match unqualified or qualified routine names. If left empty, this matcher applies to all routines.
expression = "MY_ROUTINE"
// These elements influence the naming of a generated org.jooq.Routine object.
routineClass = MatcherRule. a MatcherRule specification
routineMethod = MatcherRule. a MatcherRule specification
routineExtends = "com.example.MyOptionalRoutineBaseType"
routineImplements = "com.example.MyOptionalCustomInterface"
}
}
}
}
}
}
有关更多详细信息,请参阅配置 XSD和gradle 代码生成。
configuration {
// These properties can be added directly to the generator element:
generator {
strategy {
matchers {
// Specify 0..n routine matchers to provide a strategy for naming objects created from routines.
routines {
routine {
// Match unqualified or qualified routine names. If left empty, this matcher applies to all routines.
expression = "MY_ROUTINE"
// These elements influence the naming of a generated org.jooq.Routine object.
routineClass = " a MatcherRule specification "
routineMethod = " a MatcherRule specification "
routineExtends = "com.example.MyOptionalRoutineBaseType"
routineImplements = "com.example.MyOptionalCustomInterface"
}
}
}
}
}
}
有关更多详细信息,请参阅配置 XSD和gradle 代码生成。
// The jOOQ-codegen-gradle plugin has been introduced in version 3.19. // Please use the official plugin instead of the third party plugin that was recommended before.
一如既往,当使用正则表达式时,它们是具有默认标志的正则表达式。
当使用任何routineExtends等设置时,您必须确保正确实现内部 jOOQ API,这些 API 在此处未记录,因为它们是内部的。 特别是,如果您扩展了org.jooq.impl.TableImpl,例如,您的自定义基类可能会在 jOOQ 的次要版本之间中断,因为添加了新的构造函数。
有关 MatcherRule 规范的更多信息,请参见MatcherRule。
反馈
您对此页面有任何反馈吗? 我们很乐意听到您的声音!