Springboot学习与mybatis逆向生成工具
最近H2数据库越用越觉得方便,在不同办公处无缝继续demo的感觉就是爽。
三种方式
- 官方Java程序方
- Maven插件方式(推荐)
- sts/eclipse插件方式
直男君梳理了官方文档和网友博客,把最靠谱的上面三种都试了一遍,最终结果是Maven插件方式最为简单有效。
1)官方Java程序方式
分为两种,直接执行jar包方式:
java -jar mybatis-generator-core-x.x.x.jar -configfile \temp\generatorConfig.xml -overwrite
和 编写可执行Java类方式(官网截图):
2)Maven插件方式
简单有效,下面就会细说具体步骤。
3)sts/eclipse插件方式
安装插件嘛~讲道理是最简单的方式..但是直男君安装好了后各种问题。
三种方式在官方网站(http://www.mybatis.org/generator/quickstart.html)上都有介绍,可作细究参考,比如完整的配置文件项。
Maven插件方式步骤
1)修改数据库连接信息
这里说明一点,直男君数据源用的是H2,发现H2内存模式下,逆向生成会遇阻(连接限制问题),所以把H2内存模式改为文件模式。改动很简单,将H2连接的url改为实际路径就好,其他不用变,demo应用启动下(为了生成初始化库信息),这样mybatis逆向工程就可以连接到了(JDBC) 。PS:使用MySQL的话,不用管这步。
修改application.properties文件配置:
#配置 h2 数据源
#spring.datasource.url=jdbc:h2:mem:test
spring.datasource.url=jdbc:h2:~/test
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=123456
spring.datasource.schema=classpath:h2sql/schema.sql
spring.datasource.data=classpath:h2sql/data.sql
spring.h2.console.enabled=true
#localhost:8080/demo/h2-console
spring.h2.console.path=/h2-console
说明:~/test 配置后,以win系统为例,生成的H2数据库文件路径:C:\Users\Richard\test.mv.db,~ 代表用户家目录。
2).pom文件中添加插件
<!-- maven build.. >> mybatis-generator:generate -->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.5</version>
<configuration>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
</plugin>
3)添加 generatorConfig.xml(src/main/resources)
贴上本次demo的完整配置模版(注意包路径):
<?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">
<!-- mybatis-maven插件使用快捷参考: https://blog.csdn.net/MissWwg/article/details/79159590-->
<!-- 官方参考: http://www.mybatis.org/generator/configreference/xmlconfig.html-->
<!-- 配置完整说明:https://blog.csdn.net/pk490525/article/details/16819307 -->
<generatorConfiguration>
<properties resource="jdbc.properties" />
<!-- 驱动jar包 -->
<classPathEntry location="D:\maven-repo\com\h2database\h2\1.4.199\h2-1.4.199.jar" />
<!-- 一个数据库一个 context -->
<context id="myh2db" targetRuntime="MyBatis3">
<!-- 生成注释配置 -->
<commentGenerator>
<property name="suppressDate" value="true" />
<property name="suppressAllComments" value="true" />
</commentGenerator>
<!-- JDBC连接配置 -->
<jdbcConnection
driverClass="${h2.driver}"
connectionURL="${h2.url}"
userId="${h2.username}"
password="${h2.passwd}">
</jdbcConnection>
<!-- 类型转换 -->
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- 实体bean 逆向生成 -->
<javaModelGenerator targetPackage="com.demo.bean.entity" targetProject="src/main/java">
<property name="trimStrings" value="false" />
<property name="enableSubPackages" value="false" />
</javaModelGenerator>
<!-- sqlmap.xml 逆向生成 -->
<sqlMapGenerator targetPackage="sqlmap" targetProject="src/main/resources">
<property name="enableSubPackages" value="false" />
</sqlMapGenerator>
<!-- 客户端即 Mapper接口 逆向生成 type=[XMLMAPPER, MIXEDMAPPER, ANNOTATEDMAPPER]-->
<javaClientGenerator targetPackage="com.demo.mapper" targetProject="src/main/java"
type="MIXEDMAPPER">
<property name="enableSubPackages" value="false" />
</javaClientGenerator>
<!-- 目标表配置 schema为啥不能加 -->
<table tableName="tb_fake" domainObjectName="Fake"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false">
</table>
</context>
</generatorConfiguration>
4)新建配置所需的包和项目结构
5)保存配置,检查数据库表和项目结构无误后,执行插件。
右键.pom >> Run As.. >> Maven Build... >>在 Goals 中写入 mybatis-generator:generate 保存运行。
成功运行日志:
此时刷新项目,可以看到该有的都有了。
检查生成的文件是否合胃口,觉得不完美的话适当调整配置覆盖生成即可。
Springboot学习与mybatis逆向生成工具的更多相关文章
- 「小程序JAVA实战」Springboot版mybatis逆向生成工具(32)
转自:https://idig8.com/2018/08/29/xiaochengxujavashizhanspringbootbanmybatisnixiangshengchenggongju32/ ...
- 【SSM 4】Mybatis逆向生成工具
在上一篇博客中说到,Mybatis是灵活的SQL语句应用,不想Hibernate一样有其封装好的方法,那么,当我们用Mybatis的时候(Hibernate),我们都需要编写其实体类,和配置文件.本篇 ...
- myBatis逆向生成及使用
引入数据库驱动 <!-- mybatis逆向生成包 --><dependency> <groupId>org.mybatis.generator</group ...
- Mybatis逆向生成
在已经有了数据库的表的时候,为了方便起见,我们可以逆向生成javabean,xml,dao接口等,当然,下载mybaits-generation的工具,我这里用的是eclipse插件,然后准备一 个x ...
- Mybatis逆向生成使用扩展类
1.背景介绍 用的mybatis自动生成的插件,然而每次更改数据库的时候重新生成需要替换原有的mapper.xml文件,都要把之前业务相关的sql重新写一遍,感觉十分麻烦,就想着把自动生成的作为一个基 ...
- 一步步学Mybatis-告别繁琐的配置之Mybatis配置文件生成工具 (7)
今年是2013年的杀青之日,前几天由于比较忙,没有及时更新本篇的最后一篇东西,前六篇中我们主要都是采用手动配置相关的Mybatis映射文件与相应的接口类与实体类.当然如果在真正的使用过程中,由于业务的 ...
- Mybatis逆向生成代碼
Idea 单模块 1.在pom.xml中添加依赖 <build> <plugins> <plugin> <groupId>org.mybatis.gen ...
- Mybatis Generator生成工具配置文件详解
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration ...
- Mybatis逆向生成Mapper文件
本文参考博客 http://blog.csdn.net/for_my_life/article/details/51228098 1. 在resources根目录下添加generator.proper ...
随机推荐
- Codeforces Round #554 (Div. 2) C. Neko does Maths (数论 GCD(a,b) = GCD(a,b-a))
传送门 •题意 给出两个正整数 a,b: 求解 k ,使得 LCM(a+k,b+k) 最小,如果有多个 k 使得 LCM() 最小,输出最小的k: •思路 时隔很久,又重新做这个题 温故果然可以知新❤ ...
- Jquery第一次考核
1. 什么是JS JavaScript 缩写.一种计算机脚本语言 JavaScript是一种动态.弱类型.基于原型的语言,通过浏览器可以直接执行 2. JS三大组成部件 ECMAScript DOM ...
- 走近OPENCV // opencv 2.4.9+vs2013配置
一直很懒去配opencv,这几周忍不了终于抽空来配了一下环境... 用的是旧版opencv2.4系列,最新到3.0了,之后再看看教程不知道有什么特别大的区别. (FF14国服没有4.0 // 8.19 ...
- 初次见面C#排坑记录
排一次开发C#遇到的坑,同时说一下自己对C#中文件夹构建方式的体会. 一个开发Java的人留下了痛苦的泪水,变量命名规则不一样,连括号打的都不一样,
- 第三章、Go-内建容器
3.1.数组 (1)数组的定义 package main import ( "fmt" ) func main() { //用var定义数组可以不用赋初值 var arr1 [5] ...
- 【转载】【VSCode】Windows下VSCode编译调试c/c++
转载自:http://blog.csdn.net/c_duoduo/article/details/51615381 懒得自己配置或自己配置出现不明问题的朋友可以点这里: [VSCode]Window ...
- java8-流的操作
流的操作 流的使用一般包括三件事: 一个数据源来执行一个查询; 一个中间操作链,形成一条流的流水线; 一个终端操作,执行流水线,并能生成结果 中间操作 操作 类型 返回类型 操作参数 函数描述符 fi ...
- spark shuffle写操作三部曲之BypassMergeSortShuffleWriter
前言 再上一篇文章 spark shuffle的写操作之准备工作 中,主要介绍了 spark shuffle的准备工作,本篇文章主要介绍spark shuffle使用BypassMergeSortSh ...
- thinkphp3.2集成极光推送
项目中用到了给客户端的推送功能,选用了极光推送,下面演示一下在thinkphp中集成极光推送 1.下载极光推送的php类,可以从笔者的git下载 地址:https://git.oschina.net/ ...
- commons-logging + log4j源码分析
分析之前先理清楚几个概念 Log4J = Log For Java SLF4J = Simple Logging Facade for Java 看到Facade首先想到的就是设计模式中的门面(Fac ...