maven mybatis-generator 的坑我都走了一遍

一、简介

Mybatis属于半自动ORM,在使用这个框架中,工作量最大的就是书写Mapping的映射文件

mybatis-geneator是一款mybatis自动代码生成工具,可以通过配置,快速生成mapper和xml文件。

二、配置方法

在项目的pom文件中添加插件配置


    org.mybatis.generator
    mybatis-generator-maven-plugin
    1.3.2
    
    true
    true
    


在main的resource目录下创建generatorConfig.xml文件

配置文件中的内容如下,可根据需要自行修改



 

    
    
 
    
    
 
    
    
    
    
 
        
        
            
            
            
        
 
        
        
        
 
        
        
            
            
            
            
        
 
        
        
        
            
            
            
            
            
            
            
            
        
 
        
        
            
            
        
 
        
        
            
            
        
           
        
   


generatorConfig.xml文件中的一些配置信息需要在配置文件中添加

在同一目录下创建datasource.properties文件

db.driverLocation=D:/SpringDemo/shop/src/main/tools/mysql-connector-java-5.1.6-bin.jar
db.driverClassName=com.mysql.jdbc.Driver
db.url=jdbc:mysql://47.107.56.223:3306/mmall_learning?characterEncoding=utf-8
db.username=admin
db.password=admin


配置的三行的192.168.199.193需要替换成所在主机的IP,mall替换成数据库名称

配置第四行和第五行分别配置为数据库连接的用户名和密码

在generatorConfig.xml文件中添加完需要生成的表的配置后

maven mybatis-generator 的坑我都走了一遍_第1张图片

双击图中配置,就可以自动生成mapper和xml文件了

但是!以上仅存在于顺利的情况下!!!下面我会讲一下我遇到的坑和相关的解决方法:)

问题一:在Maven Projects侧根本就找不到mybatis-generator,无法双击

解决方法:打开pom文件,在pluginManagement标签的下面创建plugins标签,然后将mybatis-generator插件配置移动到plugins标签中,如图

maven mybatis-generator 的坑我都走了一遍_第2张图片

问题二:双击mybatis-generator后报错

[ERROR] Error resolving version for plugin 'org.apache.maven.plugin:maven-compiler-plugin' from the repositories [local (C:\Users\.m2\repository), central (http://repo.maven.apache.org/maven2)]: Plugin not found in any plugin repository -> [Help 1]

 

解决方法:pom文件中maven的配置要加version标签,如图

maven mybatis-generator 的坑我都走了一遍_第3张图片

问题三:报错

[ERROR] Failed to execute goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.2:generate (default-cli) on project mall: Execution default-cli of goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.2:generate failed: Cannot resolve classpath entry: C:Users.m2

解决方法:因为偷懒,datasource.properties文件中的db.driverLocation值是直接在文件夹中复制粘贴的,所以路径的斜线都是“\”,只要改成“/”就可以了,上面的配置步骤中的配置内容已是正确内容

db.driverLocation  找的是你已经在硬盘的驱动文件

问题四:这个问题是后面几个报错的整合

报错1:[ERROR] Failed to execute goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.2:generate (default-cli) on project mall: Access denied for user 'mall'@'219.143.190.211' (using password: YES) -> [Help 1]

报错2:[ERROR] Failed to execute goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.2:generate (default-cli) on project mall: null,  message from server: "Host 'zs-HP.lan' is not allowed to connect to this MySQL server" -> [Help 1]

报错3:[ERROR] Failed to execute goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.2:generate (default-cli) on project mall: Access denied for user 'root'@'%' to database 'mall' -> [Help 1]

报错4:[ERROR] Failed to execute goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.2:generate (default-cli) on project mall: SELECT command denied to user 'root'@'zs-HP.lan' for table 'cart' -> [Help 1]

报错5:[ERROR] Failed to execute goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.2:generate (default-cli) on project mall: Access denied for user 'root'@'zs-HP.lan' (using password: YES) -> [Help 1]

以上报错基本都是出于同一类问题,只要按照如下步骤操作,基本可以避免。

1、找到mysql bin目录下的my.ini文件,在[mysql]下面加上 skip-grant-tables  用于跳过密码

2、mysql开启mysql远程访问权限(cmd以管理员身份运行)

登录到mysql:  mysql -uroot -ppwd
查看user表:

mysql> use mysql
Database changed
mysql> select host,user,password,Grant_priv,Super_priv from user;
+--------------+---------+--------------------------------------+------------+------------+
| host         | user    | password                             | Grant_priv |  Super_priv
+--------------+---------+-------------------------------------------+------------+--------
| LocalHost    | root    | *FED29C14B2E900D70B11B1F1B370F953BA51| N          | Y         
+--------------+---------+--------------------------------------+------------+------------+
1 row in set (0.00 sec)


将localhost修改成%。修改成%表示,所有主机都可以通过root用户访问数据库。
       命令:mysql> update user set host = '%',Grant_priv='Y', Super_priv='Y'  where user = 'root';

       再次查看表:mysql>use mysql

       查看是否已经修改好

       最后!!!输入命令:mysql> FLUSH PRIVILEGES; 刷新之前修改的内容

       这才能生效!!!!!

3、修改数据库表权限

如果mysql客户端(本人使用的是Navicate)选中表单机右键可以找到设置权限选项,则勾选相应的操作即可

如果右键没有设置权限选项,则需要新增用户,配置如下

然后双击管理用户,即可进行权限配置
-----------------
原文:https://blog.csdn.net/qq_40307945/article/details/81351302 
 

你可能感兴趣的:(maven mybatis-generator 的坑我都走了一遍)