MBG(Mybatis generator)自动生成sql语句

学习官网 http://www.mybatis.org/generator/


含有分页的插件

创建一个简单的maven项目  在src/main/java包下  创建一个mbg.xml文件





	
  

	
  
  	
    
    
   
  
    
      
    

	
    
      
      
    
	
	
    
      
    
	
	
    
      
    
	
	
    


在pom.xml中配置  运行maven需要的插件


  4.0.0

  GBM
  GBM
  0.0.1-SNAPSHOT
  jar

  GBM
  http://maven.apache.org

  
    UTF-8
  

	
	
		
			 
	      	  org.mybatis.generator
	      	  mybatis-generator-maven-plugin
	          1.3.5
	          
	          	src/main/java/mbg.xml//指定mbg.xml在项目中的路径
	          
			
		
	


  
    
      junit
      junit
      3.8.1
      test
    
  






如果是Oracle数据库则需要进行类型转换

Oracle数据库,用mybatis-gen.xml 自动生成Java对象的时候,会根据number类型的长度不同生成不同的数据类型

 

number长度 Java类型
1~4 Short
5~9 Integer
10~18 Long
18+ BigDecimal

这样就写了一个类型转换器,需要继承JavaTypeResolver接口

然后在mybaties配置文件generatorConfig.xml中类型转换配置位置添加上即


  
                                                 
 
mbg.xml





	
  

	
  
  	
    
    

    type="com.generator.MyJavaTypeResolver">
      
    

	
    
      
      
    
	
	
    
      
    
	
	
    
      
    
	
	
    

类型转换器MyJavaTypeResolver主要代码

public FullyQualifiedJavaType calculateJavaType(  
            IntrospectedColumn introspectedColumn) {  
        // TODO Auto-generated method stub  
         FullyQualifiedJavaType answer;  
            JdbcTypeInformation jdbcTypeInformation = typeMap  
                    .get(introspectedColumn.getJdbcType());  
  
            if (jdbcTypeInformation == null) {  
                switch (introspectedColumn.getJdbcType()) {  
                case Types.DECIMAL:  
                case Types.NUMERIC:  
                    if(introspectedColumn.getScale() > 0)  
                    {//如果包含小数点则转换成float  
                        answer = new FullyQualifiedJavaType(Float.class.getName());  
                    }else{  
                        if ( introspectedColumn.getLength() > 18  
                                || forceBigDecimals) {  
                            answer = new FullyQualifiedJavaType(BigDecimal.class  
                                    .getName());  
                        } else if (introspectedColumn.getLength() > 9) {  
                            answer = new FullyQualifiedJavaType(Long.class.getName());  
                        } else if (introspectedColumn.getLength() > 4) {  
                            answer = new FullyQualifiedJavaType(Integer.class.getName());  
                        } else {  
                            answer = new FullyQualifiedJavaType(Short.class.getName());  
                        }  
                    }  
                    break;  
  
                default:  
                    answer = null;  
                    break;  
                }  
            } else {  
                answer = jdbcTypeInformation.getFullyQualifiedJavaType();  
            }  
  
            return answer;  
    }  
以上是生成注解的案例   如要生成xml  上面的mbg.xml有说明  只要改动即可  还要生成一个源文件包 src/main/resources


MBG(Mybatis generator)自动生成sql语句_第1张图片





    
      
    

运行命令     mybatis-generator:generate



你可能感兴趣的:(mbg自动生成sql语句)