使用eclipse mybatis generator插件在maven 项目中自动构建代码以及遇到的一些坑

mybatis-generator是一款在使用mybatis框架时,自动生成model,dao和mapper的工具,很大程度上减少了业务开发人员的手动编码时间,今天自己研究了一下,也分享一下使用心得供大家简单使用。

本人使用的是maven构建,首先需要在pom.xml文件添加mybatis-generator依赖包以及插件,配置如下:

在dependencies中添加:

<dependency>

<groupId>org.mybatis.generator</groupId>

<artifactId>mybatis-generator-core</artifactId>

<version>1.3.2</version>

</dependency>

在build的plugins中添加:

<plugin>

<groupId>org.mybatis.generator</groupId>

<artifactId>mybatis-generator-maven-plugin</artifactId>

<version>1.3.2</version>

<configuration>

<!-- mybatis用于生成代码的配置文件 -->

<configurationFile>src/main/resources/generatorConfig.xml</configurationFile>

<verbose>true</verbose>

<overwrite>true</overwrite>

</configuration>

</plugin>

上面就是pom.xml中需要添加的配置,接下来就是在resources下建genneratorConfig.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>

<classPathEntry

location="/Users/zhuyanhui/Documents/soft/mysql-connector-java-5.1.45/mysql-connector-java-5.1.45-bin.jar" />

<context id="my" targetRuntime="MyBatis3">

<commentGenerator>

<property name="suppressDate" value="false" />

<property name="suppressAllComments" value="true" />

</commentGenerator>

<!-- mysql数据库连接 -->

<jdbcConnection driverClass="com.mysql.jdbc.Driver"

connectionURL="jdbc:mysql://127.0.0.1:3306/Managers" userId="root"

password="123456" />

<!-- 生成model实体类文件位置 -->

<javaModelGenerator targetPackage="com.siyuan.entity"

targetProject="/Users/zhuyanhui/eclipse-workspaces/siyuan-entity/src/main/java">

<property name="enableSubPackages" value="true" />

<property name="trimStrings" value="true" />

</javaModelGenerator>

<!-- 生成mapper.xml配置文件位置 -->

<sqlMapGenerator targetPackage="mappings"

targetProject="/Users/zhuyanhui/eclipse-workspaces/siyuan-web/src/main/resources">

<property name="enableSubPackages" value="true" />

</sqlMapGenerator>

<!-- 生成mapper接口文件位置 -->

<javaClientGenerator targetPackage="com.siyuan.dao"

targetProject="/Users/zhuyanhui/eclipse-workspaces/siyuan-dao/src/main/java"

type="XMLMAPPER">

<property name="enableSubPackages" value="true" />

</javaClientGenerator>

<!-- 需要生成的实体类对应的表名,多个实体类复制多份该配置即可 -->

<table tableName="userRole" domainObjectName="UserRole"

enableCountByExample="false" enableUpdateByExample="false"

enableDeleteByExample="false" enableSelectByExample="false"

selectByExampleQueryId="false">

</table>

</context>

</generatorConfiguration>

由于本人是分模块操作所以实体类也是一个项目,所以实体类与dao层与mapping配置的都不是在同个工程下。

到此为止,所有的配置已完毕,在ecplise中使用,则右击工程,maven build,添加命令mybatis-generator:generate就能生成代码了

刷新工程,就能看到新增的代码了

最后在说下我在使用命令时遇到以下几个问题的解决方案

[WARNING] 'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: 

依赖必须是唯一的 原因是我在pom文件中加入了两个相同的依赖 删掉一个就行了

Non-resolvable parent POM for com.siyuan:siyuan-web:0.0.1-SNAPSHOT: Could not find artifa

原来是父工程没有注册,右键parent 项目 -run as - maven install  即可解决

不知道大家是否遇到了其中的一些坑,希望这篇博客能够给大家带来帮助。

猜你喜欢

转载自my.oschina.net/u/3459265/blog/1615108