MyBatis generator配置
MyBatis generator
1. 在maven pom.xml中添加插件配置
<plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.7</version> </plugin>
2. 在控制台运行指令mvn mybatis-generator:generate
出现报错,提示配置文件不存在
3. 创建配置文件generatorConfig.xml
根据错误提示,在resources目录下创建配置文件,并将官网给出的示例粘贴到generatorConfig.xml中
MyBatis Generator 在生成代码时需要通过 JDBC 连接到数据库来读取数据库的结构信息,以便生成相应的 Java 持久化代码。虽然 Maven 依赖能够在编译和运行时获取到 JDBC 驱动程序,但是在 MyBatis Generator 运行时,它需要在本地文件系统中找到 JDBC 驱动程序,以便将其加载到 JVM 中使用。
generatorConfig.xml配置中文详解
最终配置好的 generatorConfig.xml 如下:
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> <!--配置mysql驱动路径--> <classPathEntry location="/Users/evex/Projects/IDEA/mysql-connector-java-5.1.6.jar" /> <context id="DB2Tables" targetRuntime="MyBatis3"> <!--配置重写,即重复运行mvn mybatis-generator:generate生成时覆盖之前的mapper的.xml文件内容--> <plugin type="org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin"></plugin> <!--配置不在生成文件中添加注释--> <commentGenerator> <property name="suppressAllComments" value="true"></property> </commentGenerator> <!--配置数据库连接信息--> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql:///mall?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true" userId="root" password="xxxxxx"> </jdbcConnection> <javaTypeResolver > <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <!--配置java模型创建器: 生成实体类 targetPackage:生成的类要放的包 targetProject:目标项目,指定一个存在的目录下,生成的内容会放到指定目录中,如果目录不存在,MBG不会自动建目录 --> <javaModelGenerator targetPackage="com.evex.mall.pojo" targetProject="src/main/java"> <property name="enableSubPackages" value="true" /> <property name="trimStrings" value="true" /> </javaModelGenerator> <!--配置java模型创建器: 生成SQL map的XML文件--> <sqlMapGenerator targetPackage="com.evex.mall.mapper" targetProject="src/main/resources"> <property name="enableSubPackages" value="true" /> </sqlMapGenerator> <!--配置java模型创建器: 生成Mapper接口--> <javaClientGenerator type="XMLMAPPER" targetPackage="com.evex.mall.dao" targetProject="src/main/java"> <property name="enableSubPackages" value="true" /> </javaClientGenerator> <!--配置生成的表的信息 domainObjectName: 实体类名 enableXxxByExample:不生成和Example相关的方法 --> <table tableName="mall_order" domainObjectName="Order" enableCountByExample="false" enableDeleteByExample="false" enableSelectByExample="false" enableUpdateByExample="false"> </table> </context> </generatorConfiguration>
4. 配置多次生成可以重写文件
<plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.7</version> <!--配置重写,即重复运行mvn mybatis-generator:generate生成时覆盖之前的文件内容--> <configuration> <overwrite>true</overwrite> </configuration> </plugin>
5. 控制台运行mvn mybatis-generator:generate
出现报错:
解决报错:
运行 SQL 命令ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'xxxxxx';
更改用户的身份验证插件,强制 MySQL 使用 mysql_native_password 身份验证插件而不是 caching_sha2_password。
最终运行成功
分类:
JavaWeb
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效