• Springboot学习与mybatis逆向生成工具


    最近H2数据库越用越觉得方便,在不同办公处无缝继续demo的感觉就是爽。

     
    今天接上一篇Springboot简洁整合mybatis,补上sts(即eclipse)使用mybatis generator逆向生成实体和SQL映射文件,提高开发效率。

    三种方式

    • 官方Java程序方
    • Maven插件方式(推荐)
    • sts/eclipse插件方式

    直男君梳理了官方文档和网友博客,把最靠谱的上面三种都试了一遍,最终结果是Maven插件方式最为简单有效。

    1)官方Java程序方式

    分为两种,直接执行jar包方式:

    java -jar mybatis-generator-core-x.x.x.jar -configfile 	empgeneratorConfig.xml -overwrite
    

    和 编写可执行Java类方式(官网截图):

     
    这种方式的好处是不依赖第三方环境,仅需要mybatis的jar包就OK,通用化,缺点就是麻!烦!。

    2)Maven插件方式

    简单有效,下面就会细说具体步骤。

    3)sts/eclipse插件方式

    安装插件嘛~讲道理是最简单的方式..但是直男君安装好了后各种问题。

    三种方式在官方网站(http://www.mybatis.org/generator/quickstart.html)上都有介绍,可作细究参考,比如完整的配置文件项。

     
    PS:不论哪种方式,都需要一个核心配置文件 generatorConfig.xml

    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:UsersRichard est.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-repocomh2databaseh21.4.199h2-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 保存运行。

     

    成功运行日志:

     

    此时刷新项目,可以看到该有的都有了。

     

    检查生成的文件是否合胃口,觉得不完美的话适当调整配置覆盖生成即可。 

  • 相关阅读:
    手机qq2005 没声音
    使用VBS访问外部文本文件一些方法和脚本实例
    sqlserver 备份恢复 学习笔记
    SQL Server中truncate、delete和drop的异同点
    性能诊断
    列整合一例
    XML导入属性数据【经典】
    读取文本行
    利用TcpClient TcpListener 实现发送图片
    德云社的十三香词
  • 原文地址:https://www.cnblogs.com/noodlerkun/p/10909414.html
Copyright © 2020-2023  润新知