ITPub博客

首页 > IT职业 > IT图书 > 利用mybatis-generator自动生成代码

利用mybatis-generator自动生成代码

IT图书 作者:johnychen 时间:2021-09-09 09:14:17 0 删除 编辑

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

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

图片描述

一、在pom.xml中添加plugin

 1 
 2     org.mybatis.generator
 3     mybatis-generator-maven-plugin
 4     1.3.2
 5     
 6         src/main/resources/mybatis-generator/generatorConfig.xml
 7         true
 8         true
 9     
10     
11         
12             Generate MyBatis Artifacts
13             
14                 generate
15             
16         
17     
18     
19         
20             org.mybatis.generator
21             mybatis-generator-core
22             1.3.2
23         
24     
25 

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

二、generatorConfig.xml配置文件

 1 
 2 generatorConfiguration
 3         PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
 4         "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
 5 
 6 
 7     
 9     
10         
11             
12             
13         
14 
15         
18 
19         
21             
22             
23         
24 
25         
27             
28         
29 
30         
32             
33         
34 
35         <!---->
39 
40         
44             <!---->
46         
47  48     
49 

几个要点:
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

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4301/viewspace-2808836/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: php 清空数组
请登录后发表评论 登录
全部评论

注册时间:2015-07-25

  • 博文量
    67
  • 访问量
    6036