首页 > 其他分享 >mybatis.generator.configurationFile

mybatis.generator.configurationFile

时间:2022-12-20 22:33:01浏览次数:53  
标签:xml false generator mysql mybatis org configurationFile

mybatis.generator.configurationFile

有一个更好的配置方法,可以不用在generateConfig.xml里面写死驱动的地址:
如果你的mybatis连接也是在pom.xml里面配置的话,
那么可以在pom.xml的对应的<dependencies>标签中添加如下<dependency>标签。(即与上文中mybatis-generator-core的dependency为同一个层级)
以mysql为例:

<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
......
</configuration>
<dependencies>
<dependency>
.......
<artifactId>mybatis-generator-core</artifactId>
.......
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.driver.version}</version>
<scope>runtime</scope>
</dependency>
</dependencies>
</plugin>

 

 

eg:

<build>
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>${mybatis.generator.version}</version>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>

 

 

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

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

mybatis.generator.configurationFile_ci

一、在pom.xml中添加plugin

<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<configurationFile>src/main/resources/mybatis-generator/generatorConfig.xml</configurationFile>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
<executions>
<execution>
<id>Generate MyBatis Artifacts</id>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.2</version>
</dependency>
</dependencies>
</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 环境,直接鼠标点击即可

mybatis.generator.configurationFile_ci_02

 

最后给出目录结构图:

mybatis.generator.configurationFile_java_03

最后给一些小技巧:

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 geneator,​​https://github.com/astarring/mybatis-generator-gui​​觉得配置麻烦的朋友可以使用界面版的,欢迎提供 宝贵意见,本人源码基于Apache License 2.0,欢迎更多同学加入一起完善这个工具。

 



标签:xml,false,generator,mysql,mybatis,org,configurationFile
From: https://blog.51cto.com/u_15147537/5956927

相关文章

  • mybatis拦截器 (拦截器不生产)
    背景:在一些需求下,使用拦截器会大大简化工作量也更加灵活:在项目中,要更新数据表的审计字段,比如create_time,creator,update_time,updator,这些字段,如果每一个表对应......
  • Mybatis-plus
    1.Mybatis-plusMybatis-plus相关文档https://weishao-996.github.io/2022/10/25/黑马程序员-Mybatis-Plus/Mybatis代码生成器https://weishao-996.github.io/2022/1......
  • Spring 4 and MyBatis Java Config
    TL;DRWiththeJavaConfigenhancementsinSpring4,younolongerneedxmltoconfigureMyBatisforyourSpringapplication.Usingthe ​​@MapperScan​​​ann......
  • 【sping框架】 springboot框架中如何整合mybatis框架?
    1.引入依赖spring-boot-stater-webmysql相关mysql驱动druid数据源mybatis相关的(mybatis-spring-boot-stater)依赖(mybatismybatis-spring)2.书写配置 a.开启......
  • MyBatis打印SQL语句
     1.Spring+MyBatis这种框架一般还使用的XML配置,所以要在MyBatis的配置文件中加以下信息,就可以打印日志了。<configuration><settings><!--打......
  • mybatis resultMap collection聚合String
    背景主表index_dict_data内容表index_dict_cn_name期望输出数据结构:即联表之后根据indexId聚合,然后将cnName字段聚合到一个List<String>中[{"in......
  • 深入浅出Mybatis系列(四)---配置详解之typeAliases别名(mybatis源码篇)
    摘要: 深入浅出Mybatis系列(四)---配置详解之typeAliases别名(mybatis源码篇)上篇文章《深入浅出Mybatis系列(三)---配置详解之properties与environments(mybatis源码篇)》介......
  • MyBatis实现SaveOrUpdate
    这篇文章主要讲如何通过xml方式实现SaveOrUpdate,但是仍然建议在Service中实现。例子<insertid="saveOrUpdate"><selectKeykeyProperty="count"resultType="int"order......
  • mybatis的快速入门配置,以及其中的配置讲解
    Mybatis的快速入门配置,以及其中的配置理解1.快速入门案例(未使用mapper代理方式)​ (1).新建数据库,以及相关的表CREATETABLE`tb_user`(`id`int(11)NOTNULL......
  • mybatis-plus整合flowable springboot启动失败了 Correct the classpath of your appl
    问题描述:​ mybatis-plus整合flowable的时候发现springboot启动失败了异常信息如下:***************************APPLICATIONFAILEDTOSTART***********************......