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 >

View Code

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

二、generatorConfig.xml配置文件

1 xml version="1.0" encoding="UTF-8" ?> 2 5 6 < generatorConfiguration > 7 < classPathEntry 8 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 39 40 < table tableName ="CTAS_FEE_BASE" domainObjectName ="FeeBase" 41 enableCountByExample ="false" enableUpdateByExample ="false" 42 enableDeleteByExample ="false" enableSelectByExample ="false" 43 selectByExampleQueryId ="false" > 44 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自动建表oracle,利用mybatis-generator自动生成代码 - 菩提树下的杨过 - 博客园...相关推荐

  1. mybatis一个怪异的问题: Invalid bound statement not found 作者及来源: babyblue - 博客园 收藏到→_→: 摘要: mybatis一个怪异

    mybatis一个怪异的问题: Invalid bound statement not found 作者及来源: babyblue - 博客园    收藏到→_→: 摘要: mybatis一个怪异的问 ...

  2. 转载:利用正则表达式排除特定字符串 - 薰衣草的旋律 - 博客园

    转载:利用正则表达式排除特定字符串 - 薰衣草的旋律 - 博客园 https://www.cnblogs.com/wangqiguo/archive/2012/05/08/2486548.html 阅 ...

  3. Springboot,Mybatis根据实体类自动建表

    Springboot,Mybatis根据实体类自动建表 在创建实体类的同时还要在数据库建表,如果只是很少的属性那么无所谓,但是当实体类很多或者字段很多时这就是一个非常让人不爽的事情了 通常有两种思路, ...

  4. Activiti+oracle 启动项目时不能自动建表或更新表的问题分析及解决办法

    现象描述:按照正常配置,第一次启动时不能自动建表 关键配置片段如下: <bean id="processEngineConfiguration" class="or ...

  5. 【SSH】——Hibernate实现简单的自动建表

    转载:http://blog.csdn.net/u010066934/article/details/49078445 [与ORM] Object Relational Mapping,对象关系映射, ...

  6. [NewLife.XCode]反向工程(自动建表建库大杀器)

    NewLife.XCode是一个有10多年历史的开源数据中间件,支持nfx/netstandard,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode. 整个系列教程会大量结合示 ...

  7. xcode修改时间后就要重新编译_[NewLife.XCode]反向工程(自动建表建库大杀器)

    NewLife.XCode是一个有10多年历史的开源数据中间件,支持nfx/netstandard,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode. 整个系列教程会大量结合示 ...

  8. Hibernate自动建表

     建立表格,可以通过sql或者oracle工具直接在工具中创建表格,也可以通过Hibernate代码直接在配置文件中间接通过执行代码来创建表格. 在hibernate.cfg.xml添加这句话,就 ...

  9. ShardingSphere笔记(三):自定义分片算法 — 按月分表·真·自动建表

    ShardingSphere笔记(二):自定义分片算法 - 按月分表·真·自动建表 文章目录 ShardingSphere笔记(二):自定义分片算法 - 按月分表·真·自动建表 一. 前言 二. Sp ...

最新文章

  1. [Tips]Linux在命令行中打开图形化程序的各种命令
  2. 复用 TensorFlow 模型
  3. Mysql Errcode: 24 - Too many open files
  4. 一家创业公司,如何服务好数百企业?
  5. WPF 实现加速小火箭~
  6. 【数据库原理及应用】经典题库附答案(14章全)——第十三章:面向对象程数据库系统
  7. axure如何导出原件_axure导出_axure怎么导出流程图
  8. 忘记root密码后怎么解决?克隆虚拟机后如何实现两台linux相互登录?
  9. 查看手册命令 Oracle,ORACLE 数据库常用日常维护命令手册
  10. P1279 字串距离 (动态规划)
  11. php提取bing背景,PHP代码获取bing每日背景
  12. [互联网面试笔试汇总C/C++-9] 实现赋值运算符函数-剑指offer
  13. 「leetcode」225. 用队列实现栈/Implement Stack using Queues
  14. 关于软考的一些事,你知道吗?
  15. Fluent批处理及.jou和.scm文件编写的相关操作
  16. 笔记本进入pe却看不到计算机硬盘,一些笔记本进WINPE后找不到硬盘的解决办法...
  17. XSS(Reflected) 反射型跨站攻击
  18. Vue_路由_query参数_params参数_命名路由_props配置_编程式路由导航_缓存路由组件_新的生命周期钩子_全局、独享、组件内路由守卫_路由的两种工作模式
  19. OpenCV读取图片
  20. themeforest 模板

热门文章

  1. 微信小程序开发之——录音播放及文件上传下载-理论(1)
  2. 偷偷教一招提高网速!bond 0 配置法门!
  3. JSP的EL表达式的使用
  4. cv2.copyMakeBorder
  5. 2019秋季高校计算机等级考试,关于组织2019年秋季省高校计算机等级考试报名工作的通知...
  6. 主键和唯一性索引的区别
  7. sim7600ce 拨号上网测试_sim7600ce拨号上网
  8. 公共关系礼仪实务章节测试题——社会关系和公共关系(六)
  9. 成都大数据培训之C++的异同小常识
  10. 621. 任务调度器