mybatis代码自动生成

  • 方法一(通过本地驱动包和maven)
    • 1.修改pom.xml
    • 2.新建配置文件generatorConfig.xml
    • 3.通过maven命令执行
  • 方法二(tk.mybatis和mybatis-generator-core)
    • 1.修改pom.xml
    • 2.tk.mybatis(继承自己的MyMapper)
    • 3.新建配置文件generatorConfig.xml
    • 4.执行文件,运行该文件即可自动生成

方法一(通过本地驱动包和maven)

1.修改pom.xml

确认已添加mybatis相关依赖

  <dependencies>...<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.3.0</version></dependency>...</dependencies>

在build内添加mybatis-generator-maven-plugin插件

 <build>...<plugins><!-- mybatis generator 自动生成代码插件 --><plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.2</version><configuration><configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile><overwrite>true</overwrite><verbose>true</verbose></configuration></plugin></plugins></build>

2.新建配置文件generatorConfig.xml


配置文件需要替换为自己的几处:

  • 本地硬盘数据驱动包(需要自己找mysql-connector-java-5.1.25.jar)位置classPathEntry ->location
  • 数据库url及用户名和密码jdbcConnection ->connectionURL、userId、sword
  • 生成模型的包名和位置javaModelGenerator ->targetPackage
  • 生成映射文件的包名和位置sqlMapGenerator ->targetPackage
  • 生成DAO的包名和位置javaClientGenerator ->targetPackage
  • 要生成的表table

详细配置可见:Mybatis 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><!-- 数据库驱动:选择你的本地硬盘上面的数据库驱动包--><classPathEntry location="D:\working\tools\mybatis-generator\mysql-connector-java-5.1.25.jar" /><context id="mysqlTable" targetRuntime="MyBatis3"><commentGenerator><property name="suppressDate" value="false" /><!-- 是否去除自动生成的注释 true:是 : false:否 --><property name="suppressAllComments" value="false" /></commentGenerator><!--数据库链接URL,用户名、密码 --><jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1:3306/5g_city" userId="admin" sword="123"></jdbcConnection><javaTypeResolver><property name="forceBigDecimals" value="false" /></javaTypeResolver><!-- 生成模型的包名和位置--><javaModelGenerator targetPackage="cn.chinaunicom.intelligenceinsight.model" targetProject="src/main/java"><property name="enableSubPackages" value="true" /><property name="trimStrings" value="true" /></javaModelGenerator><!-- 生成映射文件的包名和位置--><sqlMapGenerator targetPackage="mapping" targetProject="src/main/resources"><property name="enableSubPackages" value="true" /></sqlMapGenerator><!-- 生成DAO的包名和位置--><javaClientGenerator type="XMLMAPPER" targetPackage="cn.chinaunicom.intelligenceinsight.mapper" targetProject="src/main/java"><property name="enableSubPackages" value="true" /></javaClientGenerator><!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名--><table tableName="table_a" domainObjectName="TableA"></table><table tableName="table_b"></table></context>
</generatorConfiguration>

3.通过maven命令执行


自动生成的文件位置

方法二(tk.mybatis和mybatis-generator-core)

1.修改pom.xml

增添相关依赖

  <dependencies>...<!--mybatis--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.3.1</version></dependency><!--mapper--><dependency><groupId>tk.mybatis</groupId><artifactId>mapper-spring-boot-starter</artifactId><version>2.1.5</version></dependency><dependency><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-core</artifactId><version>1.3.2</version><scope>compile</scope><optional>true</optional></dependency>...</dependencies>

2.tk.mybatis(继承自己的MyMapper)

package com.lorogy.sprongboot.demo.utils;import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;public interface MyMapper<T> extends Mapper<T>, MySqlMapper<T> {//TODO//FIXME 特别注意,该接口不能被扫描到,否则会出错
}

3.新建配置文件generatorConfig.xml

  • MyMapper位置tk.mybatis-->mappers
  • 数据库及账密
  • pojo所在包
  • mapper所在目录
  • mapper对应的java映射
  • 需要自动生成的表table
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"><generatorConfiguration><context id="MysqlContext" targetRuntime="MyBatis3Simple" defaultModelType="flat"><property name="beginningDelimiter" value="`"/><property name="endingDelimiter" value="`"/><plugin type="tk.mybatis.mapper.generator.MapperPlugin"><property name="mappers" value="com.lorogy.sprongboot.demo.utils.MyMapper"/></plugin><jdbcConnection driverClass="com.mysql.jdbc.Driver"connectionURL="jdbc:mysql://X.X.X.X:33306/test"userId="admin"password="1234"></jdbcConnection><!-- 对于生成的pojo所在包 --><javaModelGenerator targetPackage="com.lorogy.sprongboot.demo.model" targetProject="src/main/java"/><!-- 对于生成的mapper所在目录 --><sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"/><!-- 配置mapper对应的java映射 --><javaClientGenerator targetPackage="com.lorogy.sprongboot.demo.mapper" targetProject="src/main/java" type="XMLMAPPER"/><table tableName="sys_user"></table></context>
</generatorConfiguration>

4.执行文件,运行该文件即可自动生成

package com.lorogy.sprongboot.demo.utils;import java.io.File;
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.internal.DefaultShellCallback;public class GeneratorDisplay {public void generator() throws Exception{List<String> warnings = new ArrayList<String>();boolean overwrite = true;//指定 逆向工程配置文件File configFile = new File("generatorConfig.xml");ConfigurationParser cp = new ConfigurationParser(warnings);Configuration config = cp.parseConfiguration(configFile);DefaultShellCallback callback = new DefaultShellCallback(overwrite);MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,callback, warnings);myBatisGenerator.generate(null);}public static void main(String[] args) throws Exception {try {GeneratorDisplay generatorSqlmap = new GeneratorDisplay();generatorSqlmap.generator();} catch (Exception e) {e.printStackTrace();}}
}

【springboot】mybatis-generator配置相关推荐

  1. Mybatis generator配置

    1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE generatorConfigura ...

  2. Mybatis Generator 配置详解

    许多人在Java项目中都会到使用Mybatis Generator这个工具包,这里把这个工具的配置完整列一下: <?xml version="1.0" encoding=&q ...

  3. idea mybatis generator插件_SpringBoot+MyBatis+Druid整合demo

    最近自己写了一个SpringBoot+Mybatis(generator)+druid的demo 1. mybatis+generator逆向工程生成代码 1. pom文件 pom文件添加如下内容,引 ...

  4. spingBoot整合mybatis+generator+pageHelper

    spingBoot整合mybatis+generator+pageHelper 环境/版本一览: 开发工具:Intellij IDEA 2018.1.4 springboot: 2.0.4.RELEA ...

  5. mybatis配置mysql数据源_springboot+mybatis+Druid配置多数据源(mysql+postgre)

    springboot+mybatis+Druid配置多数据源(mysql+postgre) 引入pom依赖 org.mybatis.spring.boot mybatis-spring-boot-st ...

  6. Spring Boot项目利用MyBatis Generator进行数据层代码自动生成

    概 述 MyBatis Generator (简称 MBG) 是一个用于 MyBatis和 iBATIS的代码生成器.它可以为 MyBatis的所有版本以及 2.2.0之后的 iBATIS版本自动生成 ...

  7. MyBatis Generator 代码自动生成器,从此解放你的双手

    前言 在日常开发工作中,我们往往需要自己去构建各种数据表所对应的持久化对象(PO).用于操作数据库的接口(DAO)以及跟 DAO 所绑定的对应 XML.这都是一些重复性的操作,不需要多大技术含量,这时 ...

  8. SpringBoot集成Mybatis(0配置注解版)

    Mybatis初期使用比较麻烦,需要各种配置文件.实体类.dao层映射关联.还有一大推其它配置.当然Mybatis也发现了这种弊端,初期开发了generator可以根据表结构自动生成实体类.配置文件和 ...

  9. SpringBoot入门篇--整合mybatis+generator自动生成代码+druid连接池+PageHelper分页插件

    我们这一一篇博客讲的是如何整合Springboot和Mybatis框架,然后使用generator自动生成mapper,pojo等文件.然后再使用阿里巴巴提供的开源连接池druid,这个连接池的好处我 ...

  10. mybatis generator使用_SpringBoot整合Mybatis实现自动生成代码 || 附阿里P8独家SpringBoot视频资料...

    MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集. MyBatis 可以使用简单的 XM ...

最新文章

  1. layui 表格内容写temple函数_layui表格-template模板的三种用法
  2. 《Unity着色器和屏幕特效》——2.2 进阶的透明效果
  3. 一个计算crc校验的小工具的编写。
  4. 普通视频转高清:10个基于深度学习的超分辨率神经网络
  5. SQLSERVER自动定时(手动)备份工具
  6. 世界四大重要检索系统简介
  7. 2014年度辛星解读css第四节
  8. 如何使一台计算机可以在互联网上访问到
  9. [Linux]Centos 6.3 下源代码安装gcc 4.8.2/4.9.2
  10. Andoid Activity.getWindowManager().getDefaultDisplay().getWidth()已被废弃
  11. python覆盖数据库重复数据_如何在数据库中插入唯一数据/处理重复数据
  12. qq互联登录授权php配置,网站接入QQ登录(QQ互联)php版的流程
  13. 什么是全国大学生电子设计大赛?如何备战?
  14. win7 虚拟wifi服务器,win7虚拟wifi设置
  15. 6个免费、免版权视频素材网站
  16. Edward Frenkel关于几何化朗兰兹纲领的采访
  17. 第三部分 数据结构 -第一章 栈-1357:车厢调度(train)
  18. linux内核自旋锁解释,LINUX内核笔记:自旋锁
  19. Allegro 异形焊盘的制作方法
  20. CTF MD5之守株待兔,你需要找到和系统锁匹配的钥匙

热门文章

  1. 数据库-数据模型(分类、三要素、概念)
  2. A. The Miracle and the Sleeper
  3. 智慧环保 | 云计算护航环保行业未来可期
  4. ubuntu找不到拼音输入,找不到中文拼音输入源
  5. 机器人工程师技术资料
  6. 使用键盘操作将桌面计算机图标隐藏,如何创建键盘快捷方式来显示或隐藏桌面图标 | MOS86...
  7. 2021昆明icpc B 状压+期望dp,一点几何模拟
  8. 计算机网络试卷华师,2020华师网上考试参考答案计算机网络A-81111005.docx
  9. Threejs实现酷炫3D地球技术点汇总
  10. 5 个最好的免费开源反病毒工具(PC版)