mybatis-generator 详细配置及使用,爬坑记录
提示:如果不成功一定是项目路径和 数据库配置出问题,本篇基于 MySQL 8.0.13,调试没有问题。
如果失败,建议使用相同的项目结构,包名,进行重试,博主也是多次调试,才成功。一些常见问题,看报错提示信息是可以看懂的,加油。
整个项目的源代码,最后,也会给出下载链接。
这是根据数据库,生成后的项目结构:
maven idea配置。
一、简介:
mybatis-geneator 是一款 mybatis 自动代码生成工具,可以通过配置,快速生成 mapper 和 xml 文件。
二、配置方法:
(1)在项目的 pom.xml 文件中添加插件配置
详细的 pom.xml 配置:
<plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.7</version><dependencies><dependency><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-core</artifactId><version>1.3.7</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.13</version></dependency></dependencies><executions><execution><id>mybatis generator</id><phase>package</phase><goals><goal>generate</goal></goals><configuration><!--允许移动生成的文件--><verbose>true</verbose><!--允许自动覆盖文件--><overwrite>true</overwrite><configurationFile>src/main/resources/generatorConfig.xml</configurationFile></configuration></execution></executions></plugin>
(2)根据自己配置的文件路径及名称,创建相应 generatorConfig.xml 文件,位置如下图:
springmvc配置,
(3)先手动创建一些目录,在配置的时候回有提示,大大降低出错概率,整体目录结构:
三、创建 MySQL 数据库,创建 2 两个表:
之前介绍过多次命令行创建数据库表了,查看 MySQL - 最经典的 命令行操作数据库 + 表(增删改查实例)
这次使用 Navicat for MySQL,如果没有安装请参考:Navicat for MySQL 最新版安装与破解 + 报错解决办法
mybatis连接查询、(1)建立连接,创建数据库:
(2)数据库名,选择编码:
(3)新建表:
MybatisPlus。(4)填写表信息:
主键:
其他:
表名为 user_info
(5)插入一条信息:
Mybatis框架?(6)细心的你可能发现了没有 upwd 存密码的字段,我们这里放在另外一张表上,新建表 user_pwd:
四、编辑 mybatis-generator.xml 文件:
(重要!)
(请详细看注释!自行修改自己的配置信息)
修改目录请自行对应,可放大查看:
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><!-- context 是逆向工程的主要配置信息 --><!-- id:起个名字 --><!-- targetRuntime:设置生成的文件适用于那个 mybatis 版本 --><context id="default" targetRuntime="MyBatis3"><!--jdbc的数据库连接--><!--这里是以变量的形式定义,具体的值在 application.properties 文件中--><!--jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC--><jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"connectionURL="jdbc:mysql://127.0.0.1:3306/miaosha?serverTimezone=UTC"userId="root"password="xiaopengwei"></jdbcConnection><!-- targetPackage:生成的实体类所在的包 --><!-- targetProject:生成的实体类所在的硬盘位置 --><!-- DataObject 类存放位置 --><javaModelGenerator targetPackage="com.miaoshapro.dataobject"targetProject=".\src\main\java"><!-- 是否允许子包 --><property name="enableSubPackages" value="false" /><!-- 是否对modal添加构造函数 --><property name="constructorBased" value="true" /><!-- 是否清理从数据库中查询出的字符串左右两边的空白字符 --><property name="trimStrings" value="true" /><!-- 建立modal对象是否不可改变 即生成的modal对象不会有setter方法,只有构造方法 --><property name="immutable" value="false" /></javaModelGenerator><!-- targetPackage 和 targetProject:生成的 mapper 文件的包和位置 --><sqlMapGenerator targetPackage="mapping"targetProject=".\src\main\resources"><!-- 针对数据库的一个配置,是否把 schema 作为字包名 --><property name="enableSubPackages" value="false" /></sqlMapGenerator><!-- targetPackage 和 targetProject:生成的 interface 文件的包和位置 --><javaClientGenerator type="XMLMAPPER"targetPackage="com.miaoshapro.dao" targetProject=".\src\main\java"><!-- 针对 oracle 数据库的一个配置,是否把 schema 作为字包名 --><property name="enableSubPackages" value="true" /></javaClientGenerator><!--生成对应表及类名--><table tableName="user_info" domainObjectName="UserDO"></table><table tableName="user_pwd" domainObjectName="UserPwdDO"></table></context>
</generatorConfiguration>
五、执行 mybatis-generator 插件
maven java?(1)打开配置:
(2)点击 +,选择 Maven:
(3)输入信息,命令:
(4)选中刚才创建的名称,点击执行:
六、运行结果:
(1):
spring配置mybatis,(2):
(3):
(4):