문서의 이전 판입니다!
buildscript { dependencies { classpath 'org.jooq:jooq-codegen:3.10.2' classpath "mysql:mysql-connector-java:${mySqlDriverVersion}" } } task generateOrderShardJooqSources { outputs.upToDateWhen { false } doLast { def writer = new StringWriter() new groovy.xml.MarkupBuilder(writer) .configuration('xmlns': 'http://www.jooq.org/xsd/jooq-codegen-3.10.0.xsd') { jdbc() { driver('com.mysql.jdbc.Driver') url('jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF8') user('un') password('password') } generator() { strategy { matchers { tables { table { tableClass { transform('PASCAL') // JqUser 와 같은 형식 expression('JQ_$0') } } } fields { field { fieldIdentifier { transform('AS_IS') // 컬럼 필드 이름은 컬럼 이름과 동일하게 } } } } } database() { name('org.jooq.util.mysql.MySQLDatabase') // DB 타입 설정 includes('.*') excludes('db_migration_history') // flyway migration history 제외 schemata { schema { inputSchema('test') } schema { inputSchema('sakila') } } } // Watch out for this caveat when using MarkupBuilder with "reserved names" // - http://stackoverflow.com/a/11389034/521799 generate([:]) { pojos false daos false } target() { packageName('kr.pe.kwonnam.test.jooq') directory(file('src/generated/java-jooq').absolutePath) } } } org.jooq.util.GenerationTool.generate( javax.xml.bind.JAXB.unmarshal(new StringReader(writer.toString()), org.jooq.util.jaxb.Configuration.class) ) } }