-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle
118 lines (98 loc) · 3.2 KB
/
build.gradle
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
buildscript {
ext {
jooqVersion = '3.19.5'
}
}
plugins {
id 'java'
id 'org.springframework.boot' version '3.3.0'
id 'io.spring.dependency-management' version '1.1.5'
id 'nu.studer.jooq' version '9.0'
}
group = 'org.woozi.pratice'
version = '0.0.1-SNAPSHOT'
java {
sourceCompatibility = '21'
}
repositories {
mavenCentral()
}
sourceSets {
main {
java {
srcDirs = ["src/main/java", "src/generated"]
}
}
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
// jOOQ 의존성 수동설정
implementation('org.springframework.boot:spring-boot-starter-jooq') {
exclude group: 'org.jooq:jooq'
}
implementation "org.jooq:jooq:${jooqVersion}"
runtimeOnly 'com.mysql:mysql-connector-j'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
jooqGenerator project(':jooq-custom')
jooqGenerator "org.jooq:jooq:${jooqVersion}"
jooqGenerator "org.jooq:jooq-meta:${jooqVersion}"
}
tasks.named('test') {
useJUnitPlatform()
}
String dbUser = System.properties["db-user"] ?: "root"
String dbPasswd = System.properties["db-passwd"] ?: "passwd"
jooq {
version = "${jooqVersion}"
configurations {
sakilaDB {
generationTool {
jdbc {
driver = 'com.mysql.cj.jdbc.Driver'
url = 'jdbc:mysql://localhost:3316'
user = "${dbUser}"
password = "${dbPasswd}"
}
generator {
name = 'org.jooq.codegen.DefaultGenerator'
database {
name = 'org.jooq.meta.mysql.MySQLDatabase'
unsignedTypes = true
schemata {
schema {
inputSchema = 'sakila'
}
}
forcedTypes {
forcedType {
userType = 'java.lang.Long'
includeTypes = 'int unsigned'
}
forcedType {
userType = 'java.lang.Integer'
includeTypes = 'tinyint unsigned'
}
forcedType {
userType = 'java.lang.Integer'
includeTypes = 'smallint unsigned'
}
}
}
generate {
daos = true
records = true
fluentSetters = true
javaTimeTypes = true
deprecated = false
}
target {
directory = 'src/generated'
}
// jooq-custom 내부의 설정
strategy.name = 'jooq.custom.generator.JPrefixGeneratorStrategy'
}
}
}
}
}