@@ -8,6 +8,11 @@ It generates Java, Kotlin, and SQL files from Database.
88[ ![ Google Group : doma-user] ( https://img.shields.io/badge/Google%20Group-doma--user-orange.svg )] ( https://groups.google.com/g/doma-user )
99[ ![ Twitter
] ( https://img.shields.io/badge/[email protected] ?style=flat )] ( https://twitter.com/domaframework ) 1010
11+ Check latest version
12+ --------------------
13+
14+ - [ Gradle Plugin Portal] ( https://plugins.gradle.org/plugin/org.seasar.doma.codegen ) .
15+
1116How to use
1217----------
1318
@@ -51,18 +56,49 @@ domaCodeGen {
5156}
5257```
5358
59+ The above code is equivalent to the following build.gradle.kts:
60+
61+ ``` kotlin
62+ buildscript {
63+ repositories {
64+ mavenCentral()
65+ }
66+ dependencies {
67+ classpath(" com.h2database:h2:1.3.175" )
68+ }
69+ }
70+
71+ plugins {
72+ id(" java" )
73+ // specify the Doma CodeGen Plugin with correct version
74+ id(" org.seasar.doma.codegen" ) version " x.x.x"
75+ }
76+
77+ domaCodeGen {
78+ register(" dev" ) {
79+ url.set(" ..." )
80+ user.set(" ..." )
81+ password.set(" ..." )
82+ entity {
83+ packageName.set(" org.example.entity" )
84+ }
85+ dao {
86+ packageName.set(" org.example.dao" )
87+ }
88+ }
89+ }
90+ ```
91+
5492To generate all files, run ` domaCodeGenDevAll ` task:
5593
5694``` bash
5795$ ./gradlew domaCodeGenDevAll
5896```
5997
60- See also [ Gradle Plugin Portal] ( https://plugins.gradle.org/plugin/org.seasar.doma.codegen ) .
61-
6298Sample Project
6399--------------
64100
65- - [ codegen -sample] ( https://github.com/domaframework/codegen -sample )
101+ - [ kotlin -sample] ( https://github.com/domaframework/kotlin -sample )
66102
67103Gradle Tasks
68104------------
@@ -115,19 +151,22 @@ domaCodeGen {
115151| dataSource | database data source | | inferred by the url |
116152| codeGenDialect | database dialect | | inferred by the url |
117153| schemaName | database schema name | | |
118- | tableNamePattern | database table pattern (Regex) | | ` .* ` |
119- | ignoredTableNamePattern | database ignored table pattern (Regex) | | ` .*\$.* ` |
120- | tableTypes | database table type | such as TABLE, VIEW and so on | ` TABLE ` |
121- | versionColumnNamePattern | database version column pattern (Regex) | | ` VERSION([_]?NO)? ` |
122- | languageType | language of generation code | ` org.seasar.doma.gradle.codegen.desc. LanguageType.JAVA` , ` org.seasar.doma.gradle.codegen.desc. LanguageType.KOTLIN` | ` org.seasar.doma.gradle.codegen.desc. LanguageType.JAVA` |
154+ | tableNamePattern | database table pattern (Regex) | | ". * " |
155+ | ignoredTableNamePattern | database ignored table pattern (Regex) | | " .* \$ .* " |
156+ | tableTypes | database table type | such as " TABLE", " VIEW", and so on | " TABLE" |
157+ | versionColumnNamePattern | database version column pattern (Regex) | | " VERSION([ _ ] ?NO)?" |
158+ | languageType | language of generation code | ( * 1) ` LanguageType.JAVA ` , ` LanguageType.KOTLIN ` | ` LanguageType.JAVA ` |
123159| languageClassResolver | class resolver for language dedicated classes | | depends on ` languageType ` |
124- | templateEncoding | encoding for freeMarker template files | | ` UTF-8 ` |
160+ | templateEncoding | encoding for freeMarker template files | | " UTF-8" |
125161| templateDir | directory for user customized template files | | |
126- | encoding | encoding for generated Java source files | | ` UTF-8 ` |
162+ | encoding | encoding for generated Java source files | | " UTF-8" |
127163| sourceDir | directory for generated Java source files | | depends on ` languageType ` |
128164| testSourceDir | directory for generated Java test source files | | depends on ` languageType ` |
129- | resourceDir | directory for generated SQL files | | src/main/resources |
130- | globalFactory | entry point to customize plugin behavior | | ` new org.seasar.doma.gradle.codegen.GlobalFactory() ` |
165+ | resourceDir | directory for generated SQL files | | "src/main/resources" |
166+ | globalFactory | entry point to customize plugin behavior | | (* 2) The instance of ` GlobalFactory ` |
167+
168+ - (* 1) The FQN of ` LanguageType ` is ` org.seasar.doma.gradle.codegen.desc.LanguageType `
169+ - (* 2) The FQN of ` GlobalFactory ` is ` org.seasar.doma.gradle.codegen.GlobalFactory `
131170
132171### entity
133172
@@ -149,9 +188,9 @@ domaCodeGen {
149188| overwriteListener | allow to overwrite listeners or not | | ` false ` |
150189| superclassName | common superclass for generated entity classes | | |
151190| listenerSuperclassName | common superclass for generated entity listener classes | | |
152- | packageName | package name for generated entity class | | ` example.entity ` |
153- | generationType | generation type for entity identities | enum value of ` org.seasar.doma.gradle.codegen.desc. GenerationType` | |
154- | namingType | naming convention | enum value of org. ` seasar.doma.gradle.codegen.desc. NamingType` | |
191+ | packageName | package name for generated entity class | | " example.entity" |
192+ | generationType | generation type for entity identities | ( * 1) enum value of ` GenerationType ` | |
193+ | namingType | naming convention | ( * 2) enum value of ` NamingType ` | |
155194| initialValue | initial value for entity identities | | |
156195| allocationSize | allocation size for entity identities | | |
157196| showCatalogName | whether to show catalog names or not | | ` false ` |
@@ -168,6 +207,9 @@ domaCodeGen {
168207| prefix | prefix for entity classes | | |
169208| suffix | suffix for entity classes | | |
170209
210+ - (* 1) The FQN of ` GenerationType ` is ` org.seasar.doma.gradle.codegen.desc.GenerationType `
211+ - (* 2) The FQN of ` NamingType ` is ` org.seasar.doma.gradle.codegen.NamingType `
212+
171213### dao
172214
173215A ` dao ` block must be under a named config:
@@ -185,8 +227,8 @@ domaCodeGen {
185227| Option | Description | Values | Default |
186228| :--- | :--- | :--- | :--- |
187229| overwrite | whether to overwrite generated DAO files or not | | ` false ` |
188- | packageName | package name for generated DAO classes | | ` example.dao ` |
189- | suffix | suffix for Dao classes | | ` Dao ` |
230+ | packageName | package name for generated DAO classes | | " example.dao" |
231+ | suffix | suffix for Dao classes | | " Dao" |
190232| configClassName | ` org.seasar.doma.jdbc.Config ` implemented class name. Tha name is used at @Dao | | ` false ` |
191233
192234### sql
0 commit comments