jooqプラグイン環境の構築と使用


jooq       :
1,    jar      dao、                

    
      
        org.jooq
        jooq-codegen-maven
        3.8.4
        
          
            none
            
              generate
            
          
        
        
          
            mysql
            mysql-connector-java
            5.1.39
          
        
        
        
          
          
          
            com.mysql.jdbc.Driver
            jdbc:mysql://rm-bp174wmoh9b40f5h4.mysql.rds.aliyuncs.com:3306
            zeustestdbuser
            oSD7mVrAknYYSL5bT4ouP11lyc54f9
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
            
              org.jooq.util.mysql.MySQLDatabase
              
              
              account
              
              
              
                
                  zeus
                
                
                  imsc
                
               
              
              
              
              
              
              
              
              
              
              
              
              
              
              
            
            
              true
              true
              
              true
              true
            
            
            
              com.xforceplus.hera.domain.jooq
              src/main/java
            
            
              com.xforceplus.hera.domain.dto
              src/main/java
            
            
            
              com.xforceplus.hera.generate.ExtendGeneratorStrategy
            
          
        
      
      
      
      
      
    
  
2,       :
    package com.xforceplus.hera.generate;
    import org.jooq.tools.StringUtils;
    import org.jooq.util.DefaultGeneratorStrategy;
    import org.jooq.util.Definition;
    public class ExtendGeneratorStrategy extends DefaultGeneratorStrategy{
       public static final String PREFIX_UPPER= "T_HERA_";
       public static final String PREFIX_LOWER= "t_hera_";
        public String getJavaClassName(Definition definition, Mode mode) {
            String sourceName = definition.getOutputName();
          sourceName = sourceName.replace(' ', '_').replace('-', '_').replace('.', '_');
          sourceName = sourceName.replace(PREFIX_UPPER, "").replace(PREFIX_LOWER, "");
          if (sourceName.startsWith("t_") || sourceName.startsWith("T_")) {
             sourceName = sourceName.substring(2);
          }
           sourceName = StringUtils.toCamelCase(sourceName);
           if (mode == Mode.POJO) {
               sourceName = sourceName + "Obj";
           }
            if (mode == Mode.RECORD) {
               sourceName = sourceName + "Record";
            }
            else if (mode == Mode.DAO) {
               sourceName = sourceName + "Dao";
            }
            else if (mode == Mode.INTERFACE) {
               sourceName = "I" + sourceName;
            }
           return sourceName;
        }
    }