mybatis-generator有三种用法:命令行、eclipse插件、maven插件。个人觉得maven插件最方便,可以在eclipse/intellij idea等ide上可以通用。

下面是从官网上的截图:(不过官网www.mybatis.org 最近一段时间,好象已经挂了)

一、在pom.xml中添加plugin

 1 <plugin>2     <groupId>org.mybatis.generator</groupId>3     <artifactId>mybatis-generator-maven-plugin</artifactId>4     <version>1.3.2</version>5     <configuration>6         <configurationFile>src/main/resources/mybatis-generator/generatorConfig.xml</configurationFile>7         <verbose>true</verbose>8         <overwrite>true</overwrite>9     </configuration>
10     <executions>
11         <execution>
12             <id>Generate MyBatis Artifacts</id>
13             <goals>
14                 <goal>generate</goal>
15             </goals>
16         </execution>
17     </executions>
18     <dependencies>
19         <dependency>
20             <groupId>org.mybatis.generator</groupId>
21             <artifactId>mybatis-generator-core</artifactId>
22             <version>1.3.2</version>
23         </dependency>
24     </dependencies>
25 </plugin>

其中generatorConfig.xml的位置,大家根据实际情况自行调整

二、generatorConfig.xml配置文件

 1 <?xml version="1.0" encoding="UTF-8"?>2 <!DOCTYPE generatorConfiguration3         PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"4         "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">5 6 <generatorConfiguration>7     <classPathEntry8             location="C:/Oracle/Middleware/wlserver_10.3/server/lib/ojdbc6.jar"/>9     <context id="my" targetRuntime="MyBatis3">
10         <commentGenerator>
11             <property name="suppressDate" value="false"/>
12             <property name="suppressAllComments" value="true"/>
13         </commentGenerator>
14
15         <jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver"
16                         connectionURL="jdbc:oracle:thin:@172.20.16.***:1521:CARGO" userId="***"
17                         password="***"/>
18
19         <javaModelGenerator targetPackage="ctas.test.entity"
20                             targetProject="D:/yangjm/Code/CTAS/JAVAEE/CTAS2CCSP/src/main/java">
21             <property name="enableSubPackages" value="true"/>
22             <property name="trimStrings" value="true"/>
23         </javaModelGenerator>
24
25         <sqlMapGenerator targetPackage="ctas.test.entity.xml"
26                          targetProject="D:/yangjm/Code/CTAS/JAVAEE/CTAS2CCSP/src/main/java">
27             <property name="enableSubPackages" value="true"/>
28         </sqlMapGenerator>
29
30         <javaClientGenerator targetPackage="ctas.test.mapper"
31                              targetProject="D:/yangjm/Code/CTAS/JAVAEE/CTAS2CCSP/src/main/java" type="XMLMAPPER">
32             <property name="enableSubPackages" value="true"/>
33         </javaClientGenerator>
34
35         <!--<table tableName="T_FEE_AGTBILL" domainObjectName="FeeAgentBill"
36                enableCountByExample="false" enableUpdateByExample="false"
37                enableDeleteByExample="false" enableSelectByExample="false"
38                selectByExampleQueryId="false"/>-->
39
40         <table tableName="CTAS_FEE_BASE" domainObjectName="FeeBase"
41                enableCountByExample="false" enableUpdateByExample="false"
42                enableDeleteByExample="false" enableSelectByExample="false"
43                selectByExampleQueryId="false">
44             <!--<columnRenamingRule searchString="^D_"
45                                 replaceString=""/>-->
46         </table>
47
48     </context>
49 </generatorConfiguration>

几个要点:
a) 因为生成过程中需要连接db,所以第3行指定了驱动jar包的位置

b) 15-17行为连接字符串

c) 19-33行指定生成“entity实体类、mybatis映射xml文件、mapper接口”的具体位置

d) 40-46行为具体要生成的表,如果有多个表,复制这一段,改下表名即可

三、使用方式

mvn mybatis-generator:generate

如果是在intellij 环境,直接鼠标点击即可

最后给出目录结构图:

最后给一些小技巧:

a) 建表时,字段名称建议用"_"分隔多个单词,比如:AWB_NO、REC_ID...,这样生成的entity,属性名称就会变成漂亮的驼峰命名,即:awbNo、recId

b)oracle中,数值形的字段,如果指定精度,比如Number(12,2),默认生成entity属性是BigDecimal型 ,如果不指定精度,比如:Number(9),指默认生成的是Long型

c)oracle中的nvarchar/nvarchar2,mybatis-generator会识别成Object型,建议不要用nvarchar2,改用varchar2

利用mybatis-generator自动生成代码相关推荐

  1. SpringBoot如何自动生成实体类和Dao层以及映射文件(mybatis generator 自动生成代码)

    一.首先添加自动生成代码插件 <!-- mybatis generator 自动生成代码插件 生成时解除注释 --><plugin><groupId>org.myb ...

  2. SpringBoot入门篇--整合mybatis+generator自动生成代码+druid连接池+PageHelper分页插件

    我们这一一篇博客讲的是如何整合Springboot和Mybatis框架,然后使用generator自动生成mapper,pojo等文件.然后再使用阿里巴巴提供的开源连接池druid,这个连接池的好处我 ...

  3. Mybatis(1)——Mybatis Generator自动生成代码

    MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 XML ...

  4. mybatis generator 自动生成代码(带注释的实体类)

    使用前提: 当你开发的java 项目或新模块的数据库有N张表操作时,这时要自己写实体类.dao.SqlMapper.xml等文件,如果有多个表,就是造成时间浪费降低开发效率,所以建议使用mybatis ...

  5. 利用MyBatis Generator自动创建代码

    如果你使用过hibernate的eclipse插件自动创建DAO文件,那么就容易理解下面介绍的内容:如果你还没有用过hibernate也无妨.下面介绍使用mybatis 3的eclipse插件自动生成 ...

  6. idea 集成mybatis,利用MyBatis Generator自动生成实体类、mapper文件

    最近一个老项目集成mybatis,利用 generator自动生成实体类.mapper的时候折腾了一小时,记录一下,避免以后再折腾 很简单的三步 https://gitee.com/shunangua ...

  7. 使用Mybatis Generator自动生成代码

    MyBatis Generator(MBG)是MyBatis MyBatis 和iBATIS的代码生成器. 它将为所有版本的MyBatis以及版本2.2.0之后的iBATIS版本生成代码. 它将内省数 ...

  8. Eclipse使用mybatis generator自动生成代码

    一.写在前面 Mybatis属于半自动ORM,在使用这个框架中,工作量最大的就是书写Mapping的映射文件,由于手动书写很容易出错,我们可以利用Mybatis-Generator来帮我们自动生成文件 ...

  9. maven mybatis generator自动生成代码

    利用maven插件生成mybatis的 mapper dao entity 大大减少了工作量. 我的环境 Eclipse Java EE IDE for Web Developers. Version ...

  10. 使用MyBatis Generator自动生成持久层CRUD代码的两种方法

    最近在使用MyBatis,得知可以利用MyBatis Generator自动生成实体类.DAO接口和Mapping映射文件.当数据库中的表多的时候,让你不用再手写Mapping映射文件,和实体类,就可 ...

最新文章

  1. 【约束布局】ConstraintLayout 13 种相对定位属性组合 ( 属性组合 | 用法说明 )
  2. ASP.NET 导出EXCEL
  3. celery mysql 异步_celery配合rabbitmq任务队列实现任务的异步调度执行[celery redis]
  4. 【uoj#180】[UR #12]实验室外的攻防战 结论题+树状数组
  5. mysql 数据库连接不够_一个Web报表项目的性能分析和优化实践(二):MySQL数据库连接不够用(TooManyConnections)问题的一次分析和解决案例...
  6. 访问修饰符 public private protected default
  7. c#输入三个数升序排列_【每日一题】80. 两数之和输入有序数组
  8. STM32cubemx教程及STM32入门(一)
  9. html怎么加圆圈,圆圈1怎么打 word怎么打一个圈里面加数字1
  10. Java、JSP公文流转系统分析与实现
  11. 计算机无法更改开机密码,不能修改win7电脑开机密码是怎么回事
  12. 重温计算机简史:从石头计数到计算机
  13. 【java】我国最高山峰是珠穆朗玛峰,8848米。现在我有一张足够大的纸,它的厚度是0.01米。请问,我折叠多少次,可以折成珠穆朗玛峰的高度。
  14. python歌词图表分析_Python可视化图分析毛不易的《入海》,看看听歌的人都在想些什么...
  15. mac 10.10.5 mysql_Mac 10.10.5 环境下搭建apache,php,mysql,phpadmin
  16. 什么才是真正的工程师文化
  17. 23种设计模式——工厂模式+适配器模式实战
  18. Echarts基本使用(vue实现3D地图)
  19. 批次级别和批次库存的后台字段
  20. 给刚工作不久的测试人员的一封信

热门文章

  1. OpenGL 纹理坐标的实例
  2. OpenGL延迟着色之一
  3. C++打印STAIRS 图案算法(附完整源码)
  4. C语言实现卡塔兰数catalan(附完整源码)
  5. QT的QFormLayout类的使用
  6. 初中计算机学情分析,初中信息技术教学计划
  7. 23-26 Python File方法、OS文件/目录方法、异常处理、内置函数
  8. sql优化之:数据库索引创建原则,or/in/union与索引优化,聚集索引/非聚集索引/联合索引/索引覆盖,MySQL冗余数据的三种方案,MySQL双主一致性架构优化(来源:架构师之路)
  9. volatile,可变参数,memset,内联函数,宽字符窄字符,国际化,条件编译,预处理命令,define中##和#的区别,文件缓冲,位域
  10. 通过CSS切换图片效果,点击这个图片可以实现连接功能,这里的图片在一张大图片中,每个并要切换的图片没有切换,通过disposition定位的方式做