MybatisGenerator生成项目的使用
Posted newbest
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MybatisGenerator生成项目的使用相关的知识,希望对你有一定的参考价值。
记录是为了更好的成长!
网络上通过mybatis的逆向工程方式有好几种,比如插件、mvn命令,在应用过程中,感觉不是很方便,
下面使用配置文件和代码执行生成:
1、引入jar包
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.4</version> </dependency> <!-- mybatis-generator-core 反向生成java代码--> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.5</version> </dependency>
2、配置generatorConfig.xml文件
<?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> <context id="context1"> <!-- 自动序列化 --> <plugin type="org.mybatis.generator.plugins.SerializablePlugin" /> <!-- 自动toString --> <plugin type="org.mybatis.generator.plugins.ToStringPlugin" /> <commentGenerator> <!-- 指定生成的java文件的编码,没有直接生成到项目时中文可能会乱码 --> <property name="javaFileEncoding" value="UTF-8"/> <property name="suppressAllComments" value="true" /> <!-- 解决逆向工程中属性名与表的字段不一致的问题 --> <property name="useActualColumnNames" value="true"/> </commentGenerator> <!-- 数据连接的信息 --> <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1:3306/demo?characterEncoding=utf-8" userId="root" password="root" /> <!-- 生成实体类,这里要使用绝对路径,相对路径执行不会报错,但是也没有生成代码 --> <javaModelGenerator targetPackage="com.entity" targetProject="E:\javaProject\pratice_project\springBootGenerator\src\main\java"></javaModelGenerator> <!-- 生成sql映射文件 --> <sqlMapGenerator targetPackage="com.mapper" targetProject="E:\javaProject\pratice_project\springBootGenerator\src\main\resources"></sqlMapGenerator> <!-- 生成mapper接口 --> <javaClientGenerator targetPackage="mapper" targetProject="E:\javaProject\pratice_project\springBootGenerator\src\main\java" type="XMLMAPPER" /> <!-- 根据url中指向的库中的某个或多个数据表,而决定以上生成的对象 --> <!-- tableName="%" 可以生成所有 并且可以模糊 --> <table tableName="%"> </table> </context> </generatorConfiguration>
3、java文件
package com; import java.io.File; import java.io.IOException; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import org.mybatis.generator.api.MyBatisGenerator; import org.mybatis.generator.config.Configuration; import org.mybatis.generator.config.xml.ConfigurationParser; import org.mybatis.generator.exception.InvalidConfigurationException; import org.mybatis.generator.exception.XMLParserException; import org.mybatis.generator.internal.DefaultShellCallback; public class GenMain { public static void main(String[] args) { List<String> warnings = new ArrayList<String>(); boolean overwrite = true; String genCfg = "generatorConfig.xml"; File configFile = new File(GenMain.class.getClassLoader().getResource(genCfg).getFile()); ConfigurationParser cp = new ConfigurationParser(warnings); Configuration config = null; try { config = cp.parseConfiguration(configFile); } catch (IOException e) { e.printStackTrace(); } catch (XMLParserException e) { e.printStackTrace(); } DefaultShellCallback callback = new DefaultShellCallback(overwrite); MyBatisGenerator myBatisGenerator = null; try { myBatisGenerator = new MyBatisGenerator(config, callback, warnings); } catch (InvalidConfigurationException e) { e.printStackTrace(); } try { myBatisGenerator.generate(null); } catch (SQLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } } }
执行完毕刷新项目就可以了!
可以参考下面这个完整的项目示例:
https://github.com/kh5218/DemoForSpringBoot/tree/master/springBootGenerator
以上内容代表个人观点,仅供参考,不喜勿喷。。。
以上是关于MybatisGenerator生成项目的使用的主要内容,如果未能解决你的问题,请参考以下文章
mybatisGenerator自动生成pojodaoxml文件
Spring 中使用 Mybatis generator 自动生成代码
13.2 MyBatis Generator 快速入门(MyBatis Generator逆向代码生成工具) -《SSM深入解析与项目实战》