Intellij idea+springboot+maven项目配置mybatis自动生成dao层代码

眼下ssm项目基于springboot开发已是大势所趋,使用ssm框架,当然大多数人都会想到用mybatis-generator工具生成dao层接口和xml配置文件。目前我就是自己公司项目转springboot,我把开发工具也从eclipse换成了idea,但是原来eclipse里装了插件能正产生成mybatis代码的配置,到idea就不管用了,报错如下:

[ERROR] No plugin found for prefix 'mybatis-generator' in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the repositories [local (C:\Users\Administrator\.m2\repository), central (https://repo.maven.apache.org/maven2)] -> [Help 1]

这个错误原因是:

  1.       没配置mybatis-generator插件 
  2.      插件配置的不正确。

我按下面步骤配置后,代码就能自动生成了 ,分享出来,在要生成dao代码的模块儿pom文件里添加如下配置:

1  配置mybatis-generator插件

<plugins>
			<plugin>
				<groupId>org.mybatis.generator</groupId>
				<artifactId>mybatis-generator-maven-plugin</artifactId>
				<version>1.3.2</version>

				<configuration>
					<configurationFile>
						<!--src/main/resources/mybatis/mybatis-generator.xml-->
						D:\test\rov.dao\src\main\resources\mybatis\mybatis-generator.xml
					</configurationFile>
					<overwrite>true</overwrite>
					<verbose>true</verbose>
				</configuration>

				<executions>
					<execution>
						<id>Generate MyBatis Artifacts</id>
						<goals><goal>generate</goal></goals>
					</execution>
				</executions>
				<dependencies>
					<dependency>
						<groupId>org.mybatis.generator</groupId>
						<artifactId>mybatis-generator-core</artifactId>
						<version>1.3.2</version>
					</dependency>
					<dependency>
						<groupId>org.postgresql</groupId>
						<artifactId>postgresql</artifactId>
						<version>42.2.6</version>
					</dependency>
				</dependencies>
			</plugin>
		</plugins>

代码中,有两个地方要注意:

  1.      在插件配置中要加入数据库驱动jar依赖,我的项目用的postgre所以加了postgre的驱动。
  2.      指定mybatis-generator.xml配置文件路径要正确。用相对路径src\main\resources\mybatis\mybatis-generator.xml也可以吧。自己去试试。用绝对路径绝对可以。

2   配置mybatis-generator.xml

   这个配置文件如下:

  

<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE generatorConfiguration  
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"  
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">  
<generatorConfiguration>  
    <context id="DBTables"    targetRuntime="MyBatis3">  
        <commentGenerator>  
            <property name="suppressDate" value="true"/>  
            <property name="suppressAllComments" value="true"/>  
        </commentGenerator>  
        
        <!--数据库链接地址账号密码-->   
        <jdbcConnection driverClass="org.postgresql.Driver" connectionURL="jdbc:postgresql://ip:port/dbname" userId="xx" password="xx">  
        </jdbcConnection>  
        <javaTypeResolver>  
            <property name="forceBigDecimals" value="false"/>  
        </javaTypeResolver>  
        <!--生成Model类存放位置-->  
        <javaModelGenerator targetPackage="com.test.po" targetProject="src/main/java"> 
        	<property name="constructorBased" value="false"/> 
        	<property name="rootClass" value="com.test.po.BaseEntity"/> 
            <property name="enableSubPackages" value="false"/>   
            <property name="trimStrings" value="true"/>  
        </javaModelGenerator>  
        <!--生成映射文件存放位置-->  
        <sqlMapGenerator targetPackage="mybatis.mappers" targetProject="src/main/resources"> 
            <property name="enableSubPackages" value="false"/>  
        </sqlMapGenerator>  
        <!--生成Dao类存放位置-->  
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.test.mapper" targetProject="src/main/java"> 
            <property name="enableSubPackages" value="false"/>
        </javaClientGenerator>   
        <!-- 下面的schema属性值,连接postgre时要放空 ;但oracle需要库名作为schema属性值-->
        <table schema="" tableName="masterequipment" domainObjectName="MasterequipmentEntity" enableCountByExample="true" enableUpdateByExample="true" enableDeleteByExample="true"
			enableSelectByExample="true" selectByExampleQueryId="true">
			<!-- 参考 javaModelGenerator 的 constructorBased属性-->
        	<property name="constructorBased" value="false"/>
	        <!-- 默认为false,如果设置为true,在生成的SQL中,table名字不会加上catalog或schema; -->
	        <property name="ignoreQualifiersAtRuntime" value="false"/>
			<!-- for MyBatis3 / MyBatis3Simple 是否创建一个不可变的类,如果为true, 那么MBG会创建一个没有setter方法的类,取而代之的是类似constructorBased的类-->
        	<property name="immutable" value="false"/>
			<!-- 指定是否只生成domain类,如果设置为true,只生成domain类,如果还配置了sqlMapGenerator,那么在mapper XML文件中,只生成resultMap元素 -->
        	<property name="modelOnly" value="false"/>
			<!-- 如果设置为true,生成的model类会直接使用column本身的名字,而不会再使用驼峰命名方法,比如BORN_DATE,生成的属性名字就是BORN_DATE,而不会是bornDate -->
	        <property name="useActualColumnNames" value="false"/>	
		</table>  
    </context>  
</generatorConfiguration> 

配置中有几个地方需要注意就是:1  targetProject属性要配置项目模块儿下的文件夹的路径 2 targetPackage是模块儿下包路径 这两个属性决定了生成的文件存放在哪里。3 domainObjectName是生成的文件的名字。其余的配置自己看看也就明白了。具体的还要需要的同志自己去跑一遍儿配置看看。

插件配置好后,在模块儿的plugins下会多出来一个mybatis-generator,如下图:

 

运行自动生成后,生成的文件如下图:

至此,over。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值