IDEA中使用maven创建mybatis的逆向工程-程序员宅基地

技术标签: java  开发工具  数据库  

逆向工程(Mybatis Generator)

概念

mybatis Generator 中文官网

mybatis需要程序员自己编写sql语句,mybatis官方提供逆向工程,可以针对单表 自动生成mybatis执行所需要的代码.(mapper.java、mapper.xml、po类)

常采用数据库生成java代码

相关配置文件

这里使用IDEA自带的maven插件配置搭建运行环境,当然,官网提供了更多使用generator的方法,具体可以参考 其他方法.

一、在使用maven之前,有必要贴一下maven插件所必须的setting.xml (默认是在C:\Users\${username}\.m2路径下)
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
					http://maven.apache.org/xsd/settings-1.0.0.xsd">
    <localRepository>E:\Java\Maven\repository</localRepository>
    <interactiveMode>true</interactiveMode>
    <usePluginRegistry>false</usePluginRegistry>
    <offline>false</offline>
    <pluginGroups/>
    <servers/>
    <mirrors>
        <mirror>  
            <id>nexus-aliyun</id>  
            <mirrorOf>central</mirrorOf>    
            <name>Nexus aliyun</name>  
            <url>http://maven.aliyun.com/nexus/content/groups/public</url>  
        </mirror> 
    </mirrors>
    <proxies/>
    <profiles/>
    <activeProfiles/>
</settings>
二、接下来,重点是maven 使用的 pom.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>club.lemos</groupId>
    <artifactId>mybatis-generator</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <spring.version>4.3.4.RELEASE</spring.version>
        <mybatis.version>3.4.1</mybatis.version>
        <slf4j.version>1.7.21</slf4j.version>
    </properties>

    <dependencies>
        <!-- mybatis 包-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>${mybatis.version}</version>
        </dependency>
        <!-- mybatis与spring整合包-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>1.3.0</version>
        </dependency>
        <!-- javaee jar包-->
        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-api</artifactId>
            <version>7.0</version>
        </dependency>
        <!-- mysql 驱动包-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.40</version>
        </dependency>
        <!--dbcp2-->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-dbcp2</artifactId>
            <version>2.1.1</version>
        </dependency>
        <!-- 日志文件管理包-->
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-api</artifactId>
            <version>2.7</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.7</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>${slf4j.version}</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>${slf4j.version}</version>
        </dependency>
    </dependencies>

    <build>
        <resources>
            <!-- 复制非java文件到class路径下-->
            <resource>
                <directory>${basedir}/src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
            </resource>
            <resource>
                <directory>${basedir}/src/main/resources</directory>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.5</version>
                <!-- 配置generatorConfig.xml的路径和名称 -->
                <configuration>
                    <configurationFile>
                        ${basedir}\src\main\resources\generatorConfig.xml
                    </configurationFile>
                </configuration>
                <!-- 配置generator运行插件,使maven执行generator -->
                <executions>
                    <execution>
                        <id>Generate MyBatis Artifacts</id>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

</project>

 

三、下面是generator的重要配置文件

该文件在项目中所在的位置:
这里写图片描述

文件的配置信息:

<?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>
    <!-- !!!! Driver Class Path !!!! -->
    <classPathEntry location="E:\Java\Maven\repository-taotao\mysql\mysql-connector-java\5.1.40\mysql-connector-java-5.1.40.jar"/>
    <context id="context" targetRuntime="MyBatis3">
        <!-- 是否去除注释-->
        <commentGenerator>
            <property name="suppressAllComments" value="true"/>
            <property name="suppressDate" value="true"/>
        </commentGenerator>
        <!-- !!!! Database Configurations !!!! -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/taotao?characterEncoding=UTF8&amp;useSSL=false"
                        userId="root" password="lemo"/>

        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>

        <!-- !!!! Model Configurations !!!! -->
        <javaModelGenerator targetPackage="com.taotao.po" targetProject="src/main/java">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false"/>
            <!-- 从数据库返回的值被清理前后的空格 -->
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>

        <!-- !!!! Mapper XML Configurations !!!! -->
        <sqlMapGenerator targetPackage="com/taotao/mapping" targetProject="src/main/java">
            <property name="enableSubPackages" value="false"/>
        </sqlMapGenerator>

        <!-- !!!! Mapper Interface Configurations !!!! -->
        <javaClientGenerator targetPackage="com.taotao.mapper" targetProject="src/main/java" type="XMLMAPPER">
            <property name="enableSubPackages" value="false"/>
        </javaClientGenerator>

        <!-- !!!! Table Configurations !!!! -->
        <!-- 指定数据库表 -->
        <table schema="" tableName="tb_content"/>
        <table schema="" tableName="tb_content_category"/>
        <table schema="" tableName="tb_item"/>
        <table schema="" tableName="tb_item_cat"/>

    </context>
</generatorConfiguration>
四、配置运行maven

首先

这里写图片描述

然后

这里写图片描述

最后,尝试运行

这里写图片描述

如果成功,输出窗口是这样的:

这里写图片描述

同时,相应的文件夹会生成项目需要的文件.

END

转载于:https://my.oschina.net/lemos/blog/798241

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_34236497/article/details/91683618

智能推荐

Spring Cloud Config目录遍历漏洞(CVE-2019-3799)预警-程序员宅基地

文章浏览阅读1.2k次。近日,Spring官方团队在最新的安全更新中披露了一则Spring Cloud Config目录遍历漏洞(CVE-2019-3799)。漏洞官方定级为 High,属于高危漏洞。该漏洞本质是允许应用程序通过spring-cloud-config-server模块获取任意配置文件,攻击者可以构造恶意URL实现目录遍历漏洞的利用。Spring产品介绍Spring是一个Java/Java EE/...._cve-2019-3799

用Socket编写TCP程序(C/C++)-程序员宅基地

文章浏览阅读98次。用Socket编写TCP程序(C/C++) - Linux Wiki用Socket编写TCP程序(C/C++)此页由Linux Wiki用户Chenxing于2008年10月12日 (星期日) 07:42的最后更改。出自Linux Wiki提示:此文已超过 4 年(1620 天)未更新,如发现内容过时或有误,欢迎改进:)本文介绍利用Linux下的C语言Socket函数建立TCP连接,兼容C++。利..._serversocket tcp c++

JAVA中正则表达式的应用 (二)-程序员宅基地

文章浏览阅读248次。现在JDK1.4以后里终于有了自己的正则表达式API包,JAVA程序员可以免去找第三方提供的正则表达式库的周折了,我们现在就马上来了解一下这个SUN提供的迟来恩物- -对我来说确实如此。

PostgreSQL 将时间戳转换成北京时间 AND 查询json中某个字段的值_pgsql +8时区转换北京时间-程序员宅基地

文章浏览阅读1k次。个人笔记~~~select a.id,a.log_at,to_char(to_timestamp(a.log_at/1000) AT TIME ZONE 'UTC-8','yyyy-MM-dd HH24:MI:SS') as time,b.profile::json->>'name',a.content from lecture_user_records a,users ..._pgsql +8时区转换北京时间

作为一个程序员写博客还是很有必要的-程序员宅基地

文章浏览阅读1.9k次。自己日后能用到,并希望能帮助到别人,为程序员生涯留下一点痕迹

DataGridView 定位行的问题_datagridview定位行不准-程序员宅基地

文章浏览阅读4.4k次。 添加,删除,查找之后希望 Grid定位到需要的行 Me.dgvPaper.Rows(i).Selected = True 设置能保证选中行,一旦找到了就定位到相应的位置,如果数据行很多的话,希望滚动条滚到相应的位置。 DataGridView控件有一个FirstDisplayedScrollingRowIndex属性,把需要定位的行index(N)赋值给这个属性之后,DataGridV_datagridview定位行不准

随便推点

Hololens for Unity3D通过HoloToolKit打包Appx并通过旁加载安装应用程序-程序员宅基地

文章浏览阅读4.4k次,点赞5次,收藏18次。首先1、下载HoloToolKit工具包,直接解压缩在Unity3D工程中即可在编辑界面看到2、下载链接http://download.csdn.net/download/qq_39308897/10038023。3、删除场景自带的Main Camera,从预制体里将HoloLensCamera拖入场景4、新建一个Cube拖到摄像机前5、点击上方的Mixed R

警告:Expected to return a value in arrow function array-callback-return_warning expected to return a value in arrow functi-程序员宅基地

文章浏览阅读3w次。Expected to return a value in arrow function array-callback-return期望返回箭头函数数组回调值发现只要加上return i.id,就不会有警告了。_warning expected to return a value in arrow function array-callback-return

【每天一道面试题】说一下ThreadLocal原理及会不会发生内存泄漏-程序员宅基地

文章浏览阅读715次。ThreadLocal实现原理ThreadLocal的实现原理是每一个Thread维护一个ThreadLocalMap映射表,映射表的key是ThreadLocal实例,...

英文论文发表必备干货!SCI投稿7个阶段经典邮件模板,请拿走_special thanks to you for your good comments.-程序员宅基地

文章浏览阅读6.2k次,点赞3次,收藏19次。向国外期刊投稿,是科研和论文发表中少不了的一环,但投稿各阶段的英文邮件怎你都会写吗?因为邮件不规范或者错误闹笑话,被拒稿的还真不少,今天,小趣化为你准备了国外期刊投稿可能经历的7个阶段电子邮件模板,SSCI、SCI等各类国外英文期刊投稿均可通用,赶紧收藏起来,以备不时之需!一、最初投稿 CoverletterDear Editors:We would like to submit th..._special thanks to you for your good comments.

ADB 操作命令详解及用法大全-程序员宅基地

文章浏览阅读1.7k次。一、ADB是什么?二、ADB有什么作用?三、ADB命令语法单一设备/模拟器连接多个设备/模拟器连接四、ADB常用命令4.1 基本命令4.1.1 查看adb的版本信息4.1.2 启动adb4.1.3 停止adb4.1.4 以 root 权限运行 adbd4.1.5 指定 adb server 的网络端口4.1.5 查询已连接的设备/模拟器列表4.2 设备连接管理4.2.1...

JavaScript 异步编程--async、await实现原理-程序员宅基地

文章浏览阅读663次。JavaScript 异步编程–Generator函数Generator(生成器)是ES6标准引入的新的数据类型,其最大的特点就是可以交出函数的执行的控制权,即:通过yield关键字标明需要暂停的语句,执行时遇到yield语句则返回该语句执行结果,等到调用next函数时(也就是说可以通过控制调用next函数的时机达到控制generator执行的目的)重新回到暂停的地方往下执行,直至genera...