利用mybatis-generator自动生成代码

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 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 <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 <!--<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

作者:菩提树下的杨过
出处:http://yjmyzz.cnblogs.com

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

利用mybatis-generator自动生成代码(转)的更多相关文章

  1. SpringBoot 添加mybatis generator 自动生成代码插件

    自动生成数据层代码,提高开发效率 1.pom添加插件,并指定配置文件路径 <!-- mybatis generator 自动生成代码插件 --> <plugin> <gr ...

  2. idea中mybatis generator自动生成代码配置 数据库是sqlserver

    好长时间没有写博客了,最近公司要用java语言,开始学习java,属于初学者,今天主要记录一下mybatis generator自动生成代码,首先在如下图的目录中新建两个文件,如下图 generato ...

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

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

  4. IDEA Maven Mybatis generator 自动生成代码

    IDEA Maven Mybatis generator 自动生成代码 一.安装配置maven以及在Idea中配置maven 安装过程步骤可以看上面的博文,里面介绍得很详细. 二.建数据表 DROP ...

  5. IDEA Maven Mybatis generator 自动生成代码(实例讲解)(转)

    IDEA Maven Mybatis generator 自动生成代码(实例讲解) MyBatis Generator • 简称MBG,是一个专门为MyBatis框架使用者定制的代码生成器,可以快速的 ...

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

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

  7. Mybatis generator 自动生成代码(2)

    最近准备开始做一个项目,需要开始手动创建sql,于是将Mybatis generator 工具功能强化了下. 首先,这里引入到版本一点的包 <dependency> <groupId ...

  8. Mybatis generator 自动生成代码

    开发项目的时候,表很多,是不可能一点点的自己去写xml ,dao文件的,这里就需要用到代码的自动生成工具了. 第一步:导入jar包,当然,这之前,基本环境,像mybatis,数据库之类的都得搭建好. ...

  9. IDEA使用mybatis generator自动生成代码

    主要就三步: 1.pom 文件中引入jar包并配置 build 属性 <dependencies> <!-- 自动生产mapper Begin! --> <depende ...

  10. mybatis generator自动生成代码时 只生成了insert 而没有其他的

    mybatis框架提供了非常好用的逆向工程插件,但是在使用过程中会有很多问题. 我在使用中就遇到了只生成insert和insertSeletive方法,而不生成其他根据primary key查询更新删 ...

随机推荐

  1. 【React自制全家桶】九、Redux入手

    一.React项目中为什么要用Redux 上图: 左图当使用纯React开发稍微大点的项目,因为React数据是瀑布式的,只能通过父子组件传递数据,所以实现关系不大的两React的组件之间的数据传递就 ...

  2. 图片加载框架之ImageLoader

    Android开发中,多少会接触到异步加载图片,或者加载大量图片的问题,而加载图片我们常常会遇到许多的问题,比如说图片的错乱,OOM等问题,对于这些问题解决起来会比较吃力,比较著名的就是Univers ...

  3. Linux自动输入密码登录用户

    每次进去Linux系统,都有切换root用户,输入密码很麻烦,所以就写了一个小脚本,自动输入密码,登录到root用户, 1,首先检查一些是否安装了expect root@wuzs:/home/wuzs ...

  4. 五十五:WTForms表单验证之渲染模板

    此功能看似强大,实则鸡肋 from wtforms import Form, StringField, BooleanField, SelectFieldfrom wtforms.validators ...

  5. lab 颜色模式的生理原因 黄色, 洋红色 刺眼。 绿色,蓝色,不刺眼。

    hsb 颜色模式理解了. lab 颜色模式,都说是生理原因.没说是啥生理原因. 猜测:黄色, 洋红色 刺眼.   绿色,蓝色,不刺眼. https://blog.csdn.net/self_mind/ ...

  6. Pytorch-创建tensor

    引言 本篇介绍创建tensor的几种方式 Import from numpy from_numpy() float64 是 double 类型,也就是说从numpy导入的float其实是double类 ...

  7. 054. Spiral Matrix

    题目链接:https://leetcode.com/problems/spiral-matrix/description/ Given a matrix of m x n elements (m ro ...

  8. java:常见问题(解决获取properties乱码,解决poi自适应宽度)

    1.解决获取properties乱码 File cf = new File("D:\\app\\java_jar\\config.properties"); String[] pa ...

  9. 使用gRPC打造服务间通信基础设施

    一.什么是RPC rpc(远程过程调用)是一个古老而新颖的名词,他几乎与http协议同时或更早诞生,也是互联网数据传输过程中非常重要的传输机制. 利用这种传输机制,不同进程(或服务)间像调用本地进程中 ...

  10. 分布式锁用Redis还是ZooKeeper?(转载)

    文章系网络转载,侵删. 来源:https://zhuanlan.zhihu.com/p/73807097 为什么用分布式锁?在讨论这个问题之前,我们先来看一个业务场景. 图片来自 Pexels 为什么 ...