1、在全局的pom中引入mybatis generate的依赖

     <!--自动生成实体--><dependency><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-core</artifactId><version>1.3.5</version></dependency>

2、在全局的pom中加入插件

  <plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.5</version><configuration><!--generatorConfig.xml位置--><configurationFile>src/main/resources/mybatis-generator/generatorConfig.xml</configurationFile><verbose>true</verbose><overwrite>true</overwrite></configuration><executions><execution><id>Generate MyBatis Artifacts</id><goals><goal>generate</goal></goals><phase>generate-sources</phase></execution></executions><!--此处必须添加mysql驱动包--><dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope><version>5.1.46</version></dependency></dependencies></plugin>

3、创建配置文件

以下是我自己的创建配置文件的位置。
可以看到我这个项目里面有很多个模块,但是我为什么放在XApplication这个模块中呢,因为这个模块是我整个项目的唯一启动入口,所以才会在这里进行配置。

generatorConfig.xml

<?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><!--执行generator插件生成文件的命令: call mvn mybatis-generator:generate -e --><!-- 引入配置文件 --><properties resource="mybatis-generator/mybatisGeneratorinit.properties"/><!--classPathEntry:数据库的JDBC驱动,换成你自己的驱动位置 可选 --><!--<classPathEntry location="E:\mybatis\mysql-connector-java-5.1.24-bin.jar" /> --><!-- 一个数据库一个context --><!--defaultModelType="flat" 大数据字段,不分表 --><context id="MysqlTables" targetRuntime="MyBatis3Simple" defaultModelType="flat"><!-- 自动识别数据库关键字,默认false,如果设置为true,根据SqlReservedWords中定义的关键字列表;一般保留默认值,遇到数据库关键字(Java关键字),使用columnOverride覆盖 --><property name="autoDelimitKeywords" value="true" /><!-- 生成的Java文件的编码 --><property name="javaFileEncoding" value="utf-8" /><!-- beginningDelimiter和endingDelimiter:指明数据库的用于标记数据库对象名的符号,比如ORACLE就是双引号,MYSQL默认是`反引号; --><property name="beginningDelimiter" value="`" /><property name="endingDelimiter" value="`" /><!-- 格式化java代码 --><property name="javaFormatter" value="org.mybatis.generator.api.dom.DefaultJavaFormatter"/><!-- 格式化XML代码 --><property name="xmlFormatter" value="org.mybatis.generator.api.dom.DefaultXmlFormatter"/><plugin type="org.mybatis.generator.plugins.SerializablePlugin" /><plugin type="org.mybatis.generator.plugins.ToStringPlugin" /><!-- 注释 --><commentGenerator ><property name="suppressAllComments" value="false"/><!-- 是否取消注释 --><property name="suppressDate" value="true" /> <!-- 是否生成注释代时间戳--></commentGenerator><!-- jdbc连接 --><jdbcConnection driverClass="${jdbc_driver}" connectionURL="${jdbc_url}" userId="${jdbc_user}" password="${jdbc_password}" /><!-- 类型转换 --><javaTypeResolver><!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) --><property name="forceBigDecimals" value="false"/></javaTypeResolver><!-- 生成实体类地址 --><javaModelGenerator targetPackage="biz.xcj.entity.sys.permit" targetProject="${models}" ><property name="enableSubPackages" value="false"/><property name="trimStrings" value="true"/></javaModelGenerator><!-- 生成mapxml文件 --><sqlMapGenerator targetPackage="biz.xcj.mapper.sys.permit" targetProject="${resources}" ><property name="enableSubPackages" value="false" /></sqlMapGenerator><!-- 生成mapxml对应client,也就是接口dao --><javaClientGenerator targetPackage="biz.xcj.mapper.sys.permit" targetProject="${dao}" type="XMLMAPPER" ><property name="enableSubPackages" value="true" /></javaClientGenerator><!-- table可以有多个,每个数据库中的表都可以写一个table,tableName表示要匹配的数据库表,也可以在tableName属性中通过使用%通配符来匹配所有数据库表,只有匹配的表才会自动生成文件 --><!--如果想生成一个表则tableName="table_name"--><table tableName="text"enableCountByExample="true"enableUpdateByExample="true"enableDeleteByExample="true"enableSelectByExample="true"selectByExampleQueryId="true"><property name="useActualColumnNames" value="false" /><!-- 数据库表主键 --><generatedKey column="uuid" sqlStatement="Mysql" identity="true" /></table></context>
</generatorConfiguration>

mybatisGeneratorinit.properties文件

jdbc_driver=com.mysql.jdbc.Driver
jdbc_url=jdbc:mysql://localhost:3306/hyqd?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
jdbc_user=root
jdbc_password=123456
models=C:\\jinshu\\develop\\projects\\HYQD\\web-user-manager-pojo\\src\\main\\java
resources=C:\\jinshu\\develop\\projects\\HYQD\\web-user-manager-pojo\\src\\main\\java
dao=C:\\jinshu\\develop\\projects\\HYQD\\web-user-manager-pojo\\src\\main\\java

4、配置文件需要自己配置的内容讲解

1:数据库连接配置

mybatisGeneratorinit.properties文件中的所有jdbc配置中,这个大家应该都很熟系了,连接上自己的数据库即可。

2:实体类生成地址配置

generatorConfig.xml文件中的这个地方。

 <!-- 生成实体类地址 --><javaModelGenerator targetPackage="biz.xcj.entity.sys.permit" targetProject="${models}" ><property name="enableSubPackages" value="false"/><property name="trimStrings" value="true"/></javaModelGenerator>

targetProject="${models}" 引用的就是mybatisGeneratorinit.properties文件中的models的配置。
因为我自己是想直接生成在项目中,所以我的models配置的路径就是我自己项目的绝对路径。

targetPackage里面的内容就是生成实体类的具体位置。因为我的models已经配置到java的这个位置了,所以我的targetPackage只需要配置java后面的路径就可以了,如图所示,我java后面的路径为biz.xcj.entity.sys.permit
总结:配置生成地址,只需要修改targetPackagemodels两个参数即可。

3:mapper层生成地址配置

generatorConfig.xml文件中的这个地方。

<!-- 生成mapxml文件 --><sqlMapGenerator targetPackage="biz.xcj.mapper.sys.permit" targetProject="${resources}" ><property name="enableSubPackages" value="false" /></sqlMapGenerator><!-- 生成mapxml对应client,也就是接口dao --><javaClientGenerator targetPackage="biz.xcj.mapper.sys.permit" targetProject="${dao}" type="XMLMAPPER" ><property name="enableSubPackages" value="true" /></javaClientGenerator>

这里面配置的内容其实适合实体类的配置一模一样的,都是同一个原理。
只需要修改targetPackage的参数和mybatisGeneratorinit.properties中对应的配置就可以了。

4:配置需要生成的数据库表

generatorConfig.xml文件中的这个地方。tableName就表示需要生成的表名称。

<!--如果想生成一个表则tableName="table_name"--><table tableName="text"enableCountByExample="true"enableUpdateByExample="true"enableDeleteByExample="true"enableSelectByExample="true"selectByExampleQueryId="true"><property name="useActualColumnNames" value="false" /><!-- 数据库表主键 --><generatedKey column="uuid" sqlStatement="Mysql" identity="true" /></table>

4、生成代码

配置好后,打开后面的maven窗口。

因为我是在XApplication模块中配置的,所以打开的位置路径是XApplication-Plugins-mybatis-generator,双击第一个mybatis-generator:generate

最后提示SUCCESS则表示自动生成成功。

在springboot中使用mybatis generate自动生成实体类和mapper相关推荐

  1. idea 集成mybatis,利用MyBatis Generator自动生成实体类、mapper文件

    最近一个老项目集成mybatis,利用 generator自动生成实体类.mapper的时候折腾了一小时,记录一下,避免以后再折腾 很简单的三步 https://gitee.com/shunangua ...

  2. 图解 IDEA 中 springboot 项目 MyBatis Generator 逆向生成实体类及 mapper 配置文件

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 一.准备工作: 1. 新建一个 配置文件:generatorConfig.xml . <?xm ...

  3. 实体类dao接口mysql_利用MyBatis生成器自动生成实体类、DAO接口和Mapping映射文件...

    解决问题: 可利用MyBatis生成器自动生成实体类.DAO接口和Mapping映射文件. 测试环境准备: 新建一个mysql数据库,例如mungerzTest. 生成一张主键为自增ID的学生表: C ...

  4. mysql 自动生成mapper_自动生成实体类、Mapper、Mapper.xml文件

    自动生成实体类.Mapper.Mapper.xml文件 搭建Spring Boot + Mysql + MyBatis 项目 核心 配置pom.xml 创建表 配置文件 生成文件 结果 项目结构 搭建 ...

  5. 自动生成实体类、Mapper、Mapper.xml文件

    自动生成实体类.Mapper.Mapper.xml文件 搭建Spring Boot + Mysql + MyBatis 项目 核心 配置pom.xml 创建表 配置文件 生成文件 结果 项目结构 搭建 ...

  6. mybatis根据表逆向自动化生成代码(自动生成实体类、mapper文件、mapper.xml文件)

    若采用mybatis框架,数据库新建表,手动编写的话,需要编写大量的实体类.mapper文件.mapper.xml文件,都是一些重复且有规律的工作. 我们可以引用插件,然后做配置,自动生成这些文件,提 ...

  7. 你还在手写sql吗? MyBatis 逆向工程使用 使用逆向工程生成实体类,超级好用的生成实体类与mapper

    众所周知项目上的rbac在入门以后,熟悉掌握了以后,sql这些自己手动写起来是非常繁琐且无聊,那大家有没有想过用工具,只要创建表,然后使用工具告诉他一些实体类的名字跟其他信息让他自动帮我们生成这些sq ...

  8. java实体类没有映射文件_MyBatis自动生成实体类、DAO和XML映射文件,并去掉实体类中的getter和setter方法...

    今天花了3个多小时搞定了这个事情,写个Blog记录一下,先看一下最终生成的实体类吧. packagecom.mybatis.pojo;importlombok.AllArgsConstructor;i ...

  9. mybatis逆向工程的使用,自动生成实体类与基础SQL

    目录 简介 mybatis逆向工程的使用 导入依赖 编写逆向工程配置文件 编写执行方法 查看结果 简介 来分享一个比较使用的玩意,mybatis的逆向工程,可以自动生成实体类.基础SQL映射文件.Ma ...

最新文章

  1. androidwakelock_Android中的WakeLock
  2. cpc卡内计费信息异常包括_抖音CPC是什么?广告的优势在哪?抖音CPC广告转化率高吗?...
  3. VMware网络设置详解 打造超级虚拟网络 (说的最为复杂和全面的)
  4. addrinfo 结构
  5. WCF Service 配置文件注释(转)
  6. 设计模式之 --- 工厂模式(下)
  7. Linux7没有网卡,centos7安装后缺少网卡如何解决?
  8. 详细记录基于vue+nodejs+mongodb构建的商城学习(四)基于项目的node.js开发后端的学习与梳理总结...
  9. 我的电脑能装苹果吗?
  10. java 判断两个时间相差的天数
  11. 数据分析--优化模型
  12. 三星30pin引脚_USB3.0针脚定义、引脚定义(精校版本)
  13. 主要几个浏览器的内核是什么
  14. 打印当前html页面 有背景,word打印时页面背景颜色怎么去掉
  15. 爬虫---数据的提取
  16. BigDecimal的ROUND_DOWN()中的坑
  17. pool win10提示bad_大师讲解win10蓝屏重启代码BAD,POOL,CALLER修复方法
  18. c语言 dct变换,DCT, IDCT变换--C语言实现
  19. 山东大学网络靶场实验平台—团队进度(三)
  20. 同一个磁盘多分区将macOS系统分区向前扩容

热门文章

  1. 一直觉得饿是什么问题
  2. 系统上线后关键用户的工作建议
  3. POPUP_TO_CONFIRM_STEP
  4. 3d max用不同目标做关键帧_基于光流的视频目标检测系列文章解读
  5. 泰坦尼克号数据_如何使用Pandas进行可视化分析-以泰坦尼克号数据集为例
  6. 物流企业计算机运用,计算机物流在企业决策
  7. android 透明度变化,安卓获取屏幕的宽高并设置平移动画和透明度变化
  8. js富文本编辑器_自制富文本编辑器
  9. SQL语言之DQL语言学习(一) 基础查询
  10. python基础入门:内置函数之排列组合函数教程