服务器之家

服务器之家 > 正文

详解在IDEA中使用MyBatis Generator逆向工程生成代码

时间:2021-05-08 12:35     来源/作者:slx_0727

本文介绍一下用maven工具如何生成mybatis的代码及映射的文件。

一、配置maven pom.xml 文件

在pom.xml增加以下插件:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<build>
 <finalname>zsxt</finalname>
 <plugins>
  <plugin>
   <groupid>org.mybatis.generator</groupid>
   <artifactid>mybatis-generator-maven-plugin</artifactid>
   <version>1.3.2</version>
   <configuration>
    <verbose>true</verbose>
    <overwrite>true</overwrite>
   </configuration>
  </plugin>
 </plugins>
</build>

配置好maven插件,下面需要配置插件需要配置文件

二、在maven项目下的src/main/resources 目录下建立名为maven的项目配置文件存放路径如下图:generatorconfig.xml和generator.properties配置文件,

maven的项目配置文件存放路径如下图:

详解在IDEA中使用MyBatis Generator逆向工程生成代码

generatorconfig.xml代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<?xml version="1.0" encoding="utf-8"?>
<!doctype generatorconfiguration
    public "-//mybatis.org//dtd mybatis generator configuration 1.0//en"
    "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
 
<generatorconfiguration>
  <!--导入属性配置-->
  <properties resource="generator.properties"></properties>
 
  <!--指定特定数据库的jdbc驱动jar包的位置-->
  <classpathentry location="${jdbc.driverlocation}"/>
 
  <context id="default" targetruntime="mybatis3">
 
    <!-- optional,旨在创建class时,对注释进行控制 -->
    <commentgenerator>
      <property name="suppressdate" value="true"/>
      <property name="suppressallcomments" value="true"/>
    </commentgenerator>
 
    <!--jdbc的数据库连接 -->
    <jdbcconnection
        driverclass="${jdbc.driverclass}"
        connectionurl="${jdbc.connectionurl}"
        userid="${jdbc.userid}"
        password="${jdbc.password}">
    </jdbcconnection>
 
 
    <!-- 非必需,类型处理器,在数据库类型和java类型之间的转换控制-->
    <javatyperesolver>
      <property name="forcebigdecimals" value="false"/>
    </javatyperesolver>
 
 
    <!-- model模型生成器,用来生成含有主键key的类,记录类 以及查询example类
      targetpackage   指定生成的model生成所在的包名
      targetproject   指定在该项目下所在的路径
    -->
    <javamodelgenerator targetpackage="com.slx.zsxt.model"
              targetproject="src/main/java">
 
      <!-- 是否允许子包,即targetpackage.schemaname.tablename -->
      <property name="enablesubpackages" value="false"/>
      <!-- 是否对model添加 构造函数 -->
      <property name="constructorbased" value="true"/>
      <!-- 是否对类char类型的列的数据进行trim操作 -->
      <property name="trimstrings" value="true"/>
      <!-- 建立的model对象是否 不可改变 即生成的model对象不会有 setter方法,只有构造方法 -->
      <property name="immutable" value="false"/>
    </javamodelgenerator>
 
    <!--mapper映射文件生成所在的目录 为每一个数据库的表生成对应的sqlmap文件 -->
    <sqlmapgenerator targetpackage="com.slx.zsxt.mapper"
             targetproject="src/main/java">
      <property name="enablesubpackages" value="false"/>
    </sqlmapgenerator>
 
    <!-- 客户端代码,生成易于使用的针对model对象和xml配置文件 的代码
        type="annotatedmapper",生成java model 和基于注解的mapper对象
        type="mixedmapper",生成基于注解的java model 和相应的mapper对象
        type="xmlmapper",生成sqlmap xml文件和独立的mapper接口
    -->
    <javaclientgenerator targetpackage="com.slx.zsxt.dao"
               targetproject="src/main/java" type="xmlmapper">
      <property name="enablesubpackages" value="true"/>
    </javaclientgenerator>
 
 
    <table tablename="reguser" domainobjectname="user"
        enablecountbyexample="false" enableupdatebyexample="false"
        enabledeletebyexample="false" enableselectbyexample="false"
        selectbyexamplequeryid="false">
    </table>
 
    <table tablename="adminuser" domainobjectname="admin"
        enablecountbyexample="false" enableupdatebyexample="false"
        enabledeletebyexample="false" enableselectbyexample="false"
        selectbyexamplequeryid="false">
    </table>
    <table tablename="configinfo" domainobjectname="confinfo"
        enablecountbyexample="false" enableupdatebyexample="false"
        enabledeletebyexample="false" enableselectbyexample="false"
        selectbyexamplequeryid="false">
    </table>
    <table tablename="grade" domainobjectname="grade"
        enablecountbyexample="false" enableupdatebyexample="false"
        enabledeletebyexample="false" enableselectbyexample="false"
        selectbyexamplequeryid="false">
    </table>
    <table tablename="gradelog" domainobjectname="gradelog"
        enablecountbyexample="false" enableupdatebyexample="false"
        enabledeletebyexample="false" enableselectbyexample="false"
        selectbyexamplequeryid="false">
    </table>
    <table tablename="reginfo" domainobjectname="reginfo"
        enablecountbyexample="false" enableupdatebyexample="false"
        enabledeletebyexample="false" enableselectbyexample="false"
        selectbyexamplequeryid="false">
    </table>
  </context>
</generatorconfiguration>

generator.propertites代码如下:

?
1
2
3
4
5
jdbc.driverlocation=e:\\mvn_home\\mysql\\mysql-connector-java\\5.1.20\\mysql-connector-java-5.1.20.jar
jdbc.driverclass=com.mysql.jdbc.driver
jdbc.connectionurl=jdbc:mysql:///zsxt
jdbc.userid=root
jdbc.password=123456

三、在intellij idea添加一个“run运行”选项,使用maven运行mybatis-generator-maven-plugin插件

点击 菜单run中edit configurations,会出现

详解在IDEA中使用MyBatis Generator逆向工程生成代码

点击+号,选择maven,会出现

详解在IDEA中使用MyBatis Generator逆向工程生成代码

在name和commond line分别填上如上图所示,apply和ok

最后点击generator,生成model,mapper,dao

详解在IDEA中使用MyBatis Generator逆向工程生成代码

逆向工程生成结果如下:

详解在IDEA中使用MyBatis Generator逆向工程生成代码

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/for_my_life/article/details/51228098

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
2021德云社封箱演出完整版 2021年德云社封箱演出在线看
2021德云社封箱演出完整版 2021年德云社封箱演出在线看 2021-03-15
返回顶部