1.创建meavn-quickstart工程
- 删除 Test 文件夹,app.java文件
- 创建 pojo,dao,mapper 包
- 项目完成目录结构
- Jietu20171121-164948
2.配置插件
- pom.xml 文件中添加
mybatis-generator-maven-plugin
插件 -
<verbose>
元素设置插件在逆行过程是否显示详情信息 -
<overwrite>
元素设置,重复执行插件的 install 的时候会覆盖 dao接口和pojo实体类
<build>
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.5</version>
<configuration>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
</plugin>
</plugins>
</build>
3.创建generatorConfig.xml文件
-
参考官网配置generatorConfig.xml
-
创建generatorConfig.xml文件放在resources 根目录下
-
<classPathEntry
配置数据库连接jar的位置-
location
设置路径
-
-
<context>
上下文的配置-
targetRuntime
取值有MyBatis3Simple,MyBatis3.取MyBatis3Simple工程会更简洁.
-
-
<jdbcConnection>
元素指定数据库连接信息 -
<javaModelGenerator>
元素指定Java实体类放在哪个工程的哪个包下(使用绝对路径)- enableSubPackages 设置为 true 的时候没有包就自动给创建包
- trimStrings 设置为 true 数据库中字段最后又空格自动给删除掉
-
<sqlMapGenerator>
元素指定Mapper.xml文件放在哪个工程哪个文件下 -
<javaClientGenerator>
元素指定dao接口文件放在哪个工程下- type 取值有XMLMAPPER,ANNOTATEDMAPPER两种.XMLMAPPER会生成 mapper.xml 文件,ANNOTATEDMAPPER使用注解不会生成 mapper.xml 文件
-
table
设置要逆向的表,可以写多个表- domainObjectName 设置实体类的名称
- mapperName 设置 mapper 的名称,给接口起 DAO可以设置这个属性
-
我配置的 generatorConfig.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/maker/.m2/repository/mysql/mysql-connector-java/5.1.38/mysql-connector-java-5.1.38.jar"/>
<!--整体环境配置 targetRuntime 设置简单类型-->
<context id="generatorDemo" targetRuntime="MyBatis3Simple">
<!--取消注释-->
<commentGenerator>
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!--jdbcConnection-->
<jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1:3306/e3mall?characterEncoding=utf-8" userId="root" password="admin"/>
<!-- 设置javaBean输出位置-->
<javaModelGenerator targetPackage="cn.c3mall.pojo" targetProject="/Users/maker/Desktop/JavaCode/IDEAProject/MybatisGeneratorDemo/src/main/java">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- sqlMapper 生成的地方 -->
<sqlMapGenerator targetPackage="mapper" targetProject="/Users/maker/Desktop/JavaCode/IDEAProject/MybatisGeneratorDemo/src/main/resources">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!-- dao 接口配置-->
<javaClientGenerator type="XMLMAPPER" targetPackage="cn.c3mall.dao" targetProject="/Users/maker/Desktop/JavaCode/IDEAProject/MybatisGeneratorDemo/src/main/java">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!-- 表名 -->
<table tableName="tb_order_item" domainObjectName="OrderItem" mapperName="OrderItemDao"></table>
</context>
</generatorConfiguration>
run4.执行插件生成 pojo,dao,mapper.xml 文件
5.附个demo地址
网友评论