MyBatis---使用MyBatis Generator自动创建代码

        由于MyBatis属于一种半自动的ORM框架,所以主要的工作就是配置Mapping映射文件,但是由于手写映射文件很容易出错,所以可利用 MyBatis Generator 自动生成实体类、DAO接口和Mapping映射文件

        MyBatis Generator (MBG) 是一个Mybatis的代码生成器 ,可以根据数据库中表结构自动生成简单的CRUD(插入,查询,更新,删除)操作。 但联合查询和存储过程,需手动手写SQL和对象。

        下面以mysql库为例,记录 MyBatis Generator 使用方法。

一、准备工作

首先在数据库中新建一个简单的数据表:


DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `age` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8

二、执行命令生成

这种方法最简单,只需要下几个jar包即可。

2.1 准备需要的文件和jar包

MyBatis---使用MyBatis Generator自动创建代码_第1张图片

mybatis-generator 下载地址:http://repo1.maven.org/maven2/org/mybatis/generator/mybatis-generator-core/

其中有 MyBatis生成器jar包 和 数据库驱动程序。

2.2 配置generatorConfig.xml

generatorConfig.xml为 mybatis-generator 配置文件,模板如下:






    
    

    
        
        
            
        

        
        
        
        
        
            
        

        
        
            
            
        
        
        
            
        
        
        
            
        
        
        
        

其中,我们需要修改generatorConfig.xml为自己的配置信息,主要包括

:数据库驱动jar,需要跟文件夹中的版本一致;

:元素定义如何连接目标数据库;

:元素来指定生成 Java 模型对象所属的包。targetPackage为包名,targetProject为生成的地址;

:元素来指定生成 SQL 映射文件所属的包和的目标项目;

:元素来指定目标包和目标项目生成的客户端接口和类;

:要生成的表,tableName是数据库中的表名或视图名 domainObjectName是实体类名;

注意:targetProject,不会自动创建,需要手动创建。

更多详细配置可看官网:【http://www.mybatis.org/generator/configreference/xmlconfig.html 】

2.3 运行

打开控制台,进入到上面的目录下,执行命令

java -jar MyBatis生成器jar包 -configfile 配置文件 -overwrite

例如:

java -jar mybatis-generator-core-1.3.1.jar -configfile generatorConfig.xml -overwrite

MyBatis---使用MyBatis Generator自动创建代码_第2张图片

运行完成,在targetProject\targetPackage目录下找到相应的文件。

MyBatis---使用MyBatis Generator自动创建代码_第3张图片

MyBatis---使用MyBatis Generator自动创建代码_第4张图片

MyBatis---使用MyBatis Generator自动创建代码_第5张图片

三、使用Eclipse插件自动生成代码

 3.1 安装eclipse插件

[Help]--[Eclipser Marketplace]中查找 Mybatis Generator,点击【Install】即开始安装,安装完成后重启Eclipse。

MyBatis---使用MyBatis Generator自动创建代码_第6张图片

然后,查看插件是否安装成功:【File】 -> 【New】-> 【Other..】,如下,即安装成功。

MyBatis---使用MyBatis Generator自动创建代码_第7张图片

如果上述方法没有安装成功,可以尝试手动安装方式:把这里的7个jar下载放到eclipse的plugins目录下,重启eclipse就行。

3.2 配置generatorConfig.xml

 generatorConfig.xml 文件配置 跟上述配置文件类似。但略有不同:

  1. 为了更好的通用性,这里我将 改为了本地仓库中jar包的绝对路径
  2. 略有不同,为 项目名称+自定义的文件名,必须已经存在,才能成功。





    
    

    
        
        
            
        

        
        
        
        
        
            
        

        
        
            
            
        
        
        
            
        
        
        
            
        
        
        

3.3 运行

在generatorConfig.xml上右键—》Run As—》Run Mybatis Generator,生成如下相应代码。

MyBatis---使用MyBatis Generator自动创建代码_第8张图片

四、Intellij IDEA自动生成代码

因为IntelliJ中没有mybatis-generato对应的插件,所以需要在MAVEN中使用 mybatis-generator-maven-plugin插件来完成功能。

4.1 添加依赖

	
		
			mysql
			mysql-connector-java
			runtime
		
	

	
		
			
				org.springframework.boot
				spring-boot-maven-plugin
			
			
			
				org.mybatis.generator
				mybatis-generator-maven-plugin
				1.3.2
				
					
					true
					true
				
			
		
	

如果配置文件的位置就在/src/main/resources目录下,可以省略

4.2  配置generatorConfig.xml

resources下建generatorConfig.xml,作为mybatis-generator-maven-plugin插件的执行目标。






    
    

    
        
        
            
        

        
        
        
        
        
            
        

        
        
            
            
        
        
        
            
        
        
        
            
        
        
        
        

Intellij IDEA中 targetProject 不需要加 项目名称。

4.3 运行

点击run-Edit Configurations,添加配置:

        command line :mybatis-generator:generate -e

MyBatis---使用MyBatis Generator自动创建代码_第9张图片

最后生成的文件以及结构:

MyBatis---使用MyBatis Generator自动创建代码_第10张图片

注意!!!同一张表一定不要运行多次,因为mapper的映射文件中会生成多次的代码,导致报错,切记 。

可以删除之后再重新运行。

五、参考

Running MyBatis Generator With Maven

generatorConfig.xml的配置

 

你可能感兴趣的:(Java开发)