Idea使用Mybatis generator自动生成插件

今天尝试在idea使用mybatis generator插件生成数据表对应的mapper和entity文件,碰到了一下问题,记录学习一下。本人

参考https://www.cnblogs.com/mkl34367803/p/8353597.html

1.pom.xml配置插件


            
                org.mybatis.generator
                mybatis-generator-maven-plugin
                1.3.2
                
                    src/main/resources/mybatis-generator/generatorConfig.xml
                    true
                    true
                
                
                    
                        Generate MyBatis Artifacts
                        
                            generate
                        
                    
                
                
                    
                        org.mybatis.generator
                        mybatis-generator-core
                        1.3.2
                    
                
            

2.将generatorConfig.xml文件根据自己的配置修改,放到工程中(我是放在resources下)





    
    

    
    

    
    
        
        

        
        
            
            
        

        
        
        

        
        
            
            
        

        
        
            
            
            
            
        

        
        
            
        

        
        
            
        


        
        
        
        

这里主要需要修改的配置项有(具体可以参考xml文件的注释部分):

  • classPathEntry:location设置为数据库驱动所在的位置
  • jdbcConnection:设置数据库的驱动名,链接,用户名和密码
  • javaModelGenerator:设置实体类的包和位置信息
  • sqlMapGenerator:设置sqlmapper的包和位置信息
  • javaClientGenerator:设置mapper接口的包和位置信息
  • table:设置表等信息

3.完成上面的配置之后,就可以使用maven自动生成代码了

Idea使用Mybatis generator自动生成插件_第1张图片

生成的目录结构如下

Idea使用Mybatis generator自动生成插件_第2张图片

4.至此,在idea中使用mybatis generator生成表信息代码完成。但是其中遇到了两个问题及解决方法如下

  • 生成的mapper文件只有insert和insertSelective两个函数,原因为generatorConfig.xml文件在配置table信息时,没有正确配置enableSelectByPrimaryKey="true" enableUpdateByPrimaryKey="true" enableDeleteByPrimaryKey="true"几个属性,参考下图

        
  • maven编译的时候提示Cannot obtain primary key information from the database, generated objects may be incomplete的错误,此时需要在数据库的url后面加上?serverTimezone=UTC& zeroDateTimeBehavior=round& nullCatalogMeansCurrent=true,如下图

Idea使用Mybatis generator自动生成插件_第3张图片

  
        
        

 

你可能感兴趣的:(java)