可用版本: Dev (3.21) | 最新 (3.20) | 3.19 | 3.18 | 3.17 | 3.16 | 3.15 | 3.14 | 3.13 | 3.12 | 3.11

匹配字段

适用于 ✅ 开源版   ✅ 专业版   ✅ 企业版

以下示例展示了如何为生成的 org.jooq.Field 类型和相关对象定义 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 field matchers to provide a strategy for naming objects created from fields. -->
        <fields>
          <field>

            <!-- Match unqualified or qualified field names. If left empty, this matcher applies to all fields. -->
            <expression>MY_FIELD</expression>

            <!-- These elements influence the naming of a generated org.jooq.Field object. -->
            <fieldIdentifier> a MatcherRule specification </fieldIdentifier>
            <fieldMember> a MatcherRule specification </fieldMember>
            <fieldSetter> a MatcherRule specification </fieldSetter>
            <fieldGetter> a MatcherRule specification </fieldGetter>

            <!-- These elements influence the naming of generated DAO methods. -->
            <daoMember> a MatcherRule specification </daoMember>

            <!-- Whether a method should have an override modifier, e.g. because of an implemented interface -->
            <recordSetterOverride>false</recordSetterOverride>
            <recordGetterOverride>false</recordGetterOverride>
            <recordMemberOverride>false</recordMemberOverride>
            <interfaceSetterOverride>false</interfaceSetterOverride>
            <interfaceGetterOverride>false</interfaceGetterOverride>
            <interfaceMemberOverride>false</interfaceMemberOverride>
            <pojoSetterOverride>false</pojoSetterOverride>
            <pojoGetterOverride>false</pojoGetterOverride>
            <pojoMemberOverride>false</pojoMemberOverride>
          </field>
        </fields>
      </matchers>
    </strategy>
  </generator>
</configuration>

有关更多详细信息,请参见 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 field matchers to provide a strategy for naming objects created from fields.
        .withFields(
          new MatchersFieldType()

            // Match unqualified or qualified field names. If left empty, this matcher applies to all fields.
            .withExpression("MY_FIELD")

            // These elements influence the naming of a generated org.jooq.Field object.
            .withFieldIdentifier(MatcherRule. a MatcherRule specification )
            .withFieldMember(MatcherRule. a MatcherRule specification )
            .withFieldSetter(MatcherRule. a MatcherRule specification )
            .withFieldGetter(MatcherRule. a MatcherRule specification )

            // These elements influence the naming of generated DAO methods.
            .withDaoMember(MatcherRule. a MatcherRule specification )

            // Whether a method should have an override modifier, e.g. because of an implemented interface
            .withRecordSetterOverride(false)
            .withRecordGetterOverride(false)
            .withRecordMemberOverride(false)
            .withInterfaceSetterOverride(false)
            .withInterfaceGetterOverride(false)
            .withInterfaceMemberOverride(false)
            .withPojoSetterOverride(false)
            .withPojoGetterOverride(false)
            .withPojoMemberOverride(false)
        )
      )
    )
  )

有关更多详细信息,请参见 configuration XSD程序化代码生成

import org.jooq.meta.jaxb.*


configuration {

  // These properties can be added directly to the generator element:
  generator {
    strategy {
      matchers {

        // Specify 0..n field matchers to provide a strategy for naming objects created from fields.
        fields {
          field {

            // Match unqualified or qualified field names. If left empty, this matcher applies to all fields.
            expression = "MY_FIELD"

            // These elements influence the naming of a generated org.jooq.Field object.
            fieldIdentifier = MatcherRule. a MatcherRule specification 
            fieldMember = MatcherRule. a MatcherRule specification 
            fieldSetter = MatcherRule. a MatcherRule specification 
            fieldGetter = MatcherRule. a MatcherRule specification 

            // These elements influence the naming of generated DAO methods.
            daoMember = MatcherRule. a MatcherRule specification 

            // Whether a method should have an override modifier, e.g. because of an implemented interface
            isRecordSetterOverride = false
            isRecordGetterOverride = false
            isRecordMemberOverride = false
            isInterfaceSetterOverride = false
            isInterfaceGetterOverride = false
            isInterfaceMemberOverride = false
            isPojoSetterOverride = false
            isPojoGetterOverride = false
            isPojoMemberOverride = false
          }
        }
      }
    }
  }
}

有关更多详细信息,请参见 configuration XSDgradle 代码生成

configuration {

  // These properties can be added directly to the generator element:
  generator {
    strategy {
      matchers {

        // Specify 0..n field matchers to provide a strategy for naming objects created from fields.
        fields {
          field {

            // Match unqualified or qualified field names. If left empty, this matcher applies to all fields.
            expression = "MY_FIELD"

            // These elements influence the naming of a generated org.jooq.Field object.
            fieldIdentifier = " a MatcherRule specification "
            fieldMember = " a MatcherRule specification "
            fieldSetter = " a MatcherRule specification "
            fieldGetter = " a MatcherRule specification "

            // These elements influence the naming of generated DAO methods.
            daoMember = " a MatcherRule specification "

            // Whether a method should have an override modifier, e.g. because of an implemented interface
            recordSetterOverride = false
            recordGetterOverride = false
            recordMemberOverride = false
            interfaceSetterOverride = false
            interfaceGetterOverride = false
            interfaceMemberOverride = false
            pojoSetterOverride = false
            pojoGetterOverride = false
            pojoMemberOverride = false
          }
        }
      }
    }
  }
}

有关更多详细信息,请参见 configuration XSDgradle 代码生成

// 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.

一如既往,当使用正则表达式时,它们是具有默认标志的正则表达式

有关 MatcherRule 规范的更多信息,请参见MatcherRule

反馈

您对此页面有任何反馈吗? 我们很乐意听取您的意见!

The jOOQ Logo