如何让idea自动创建mybatis配置文件

如题所述

一、在pom.xml中添加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
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-04-05

一、在pom.xml中添加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    <generatorConfiguration>

6    <classPathEntry

7      location="C:/Oracle/Middleware/wlserver_10.3/server/lib/ojdbc6.jar"/>

8     <context id="my" targetRuntime="MyBatis3">

9     <commentGenerator>

10    <property name="suppressDate" value="false"/>

11    <property name="suppressAllComments" value="true"/>

12    </commentGenerator> 

13    <jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver"

14     connectionURL="jdbc:oracle:thin:@172.20.16.***:1521:CARGO" userId="***"

15    password="***"/>

16    <javaModelGenerator targetPackage="ctas.test.entity"

17    targetProject="D:/yangjm/Code/CTAS/JAVAEE/CTAS2CCSP/src/main/java">

18    <property name="enableSubPackages" value="true"/>

19    <property name="trimStrings" value="true"/>

20   </javaModelGenerator>

21   <sqlMapGenerator targetPackage="ctas.test.entity.xml"

22   targetProject="D:/yangjm/Code/CTAS/JAVAEE/CTAS2CCSP/src/main/java">

23   <property name="enableSubPackages" value="true"/>

24    </sqlMapGenerator>

25   <javaClientGenerator targetPackage="ctas.test.mapper"

26    targetProject="D:/yangjm/Code/CTAS/JAVAEE/CTAS2CCSP/src/main/java" type="XMLMAPPER">

27   <property name="enableSubPackages" value="true"/>

28    </javaClientGenerator>

29   <!--<table tableName="T_FEE_AGTBILL" domainObjectName="FeeAgentBill"

30    enableCountByExample="false" enableUpdateByExample="false"

31   enableDeleteByExample="false" enableSelectByExample="false"

32    selectByExampleQueryId="false"/>-->

33   <table tableName="CTAS_FEE_BASE" domainObjectName="FeeBase"

34    enableCountByExample="false" enableUpdateByExample="false"

35    enableDeleteByExample="false" enableSelectByExample="false"

36    selectByExampleQueryId="false">

37   <!--<columnRenamingRule searchString="^D_"

38   replaceString=""/>-->

39   </table>

40   </context>

41   </generatorConfiguration>

根据具体问题类型,进行步骤拆解/原因原理分析/内容拓展等。
具体步骤如下:/导致这种情况的原因主要是……

本回答被网友采纳
相似回答