mybatis generator maven插件自动生成代码__个人记录

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: 本文只是对于mybatis generator maven插件使用的个人记录,作个备忘,同时也希望对进来的人有所帮助! 一.pom文件中引入插件 此处我引用的是1.3.5版本的,主要是1.3.4 版本及以上可以设置Mapper(Dao)后缀 如mapperName="LotteryDao"  <plugin> <!-- 用maven myb

本文只是对于mybatis generator maven插件使用的个人记录,作个备忘,同时也希望对进来的人有所帮助!


一.pom文件中引入插件

此处我引用的是1.3.5版本的,主要是1.3.4 版本及以上可以设置Mapper(Dao)后缀 如mapperName="LotteryDao" 

<plugin>  
		 <!-- 
				 用maven mybatis插件
				 如果不在plugin里面添加依赖包得引用的话,会找不到相关得jar包,
				 在plugin外部得jar包,他不会去找到并执行,
				 所以要把plugin运行依赖得jar配置都放在里面 
		  -->
		<groupId>org.mybatis.generator</groupId>  
		<artifactId>mybatis-generator-maven-plugin</artifactId>  
		<version>1.3.5</version>  
		<executions>  
			<execution>  
				<id>Generate MyBatis Artifacts</id>  
				<goals>  
					<goal>generate</goal>  
				</goals>  
			</execution>  
		</executions>  
		<dependencies>  
			<dependency>  
				<groupId>mysql</groupId>  
				<artifactId>mysql-connector-java</artifactId>  
				 <!-- 引用依赖库的版本 -->
				<version>5.1.38</version>  
			</dependency>  
			<dependency>  
				<groupId>org.mybatis.generator</groupId>  
				<artifactId>mybatis-generator-core</artifactId>  
				<version>1.3.5</version>  
			</dependency>  
		</dependencies>  
</plugin>

注意,如果发现报错Plugin execution not covered by lifecycle configuration: 需要在plugins的外层加上pluginManagement标签.


二.添加generatorConfig.xml文件 

在项目中添加Source File 目录src/main/resources,里面新建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>  
    <!-- 引入配置文件 -->  
    <properties resource="jdbc.properties"/>  
    
    <!-- 一个数据库一个context -->  
    <context id="infoGuardian">  
        <!-- 注释 -->  
        <commentGenerator >  
            <property name="suppressAllComments" value="true"/><!-- 是否取消注释 -->  
            <property name="suppressDate" value="true" /> <!-- 是否生成注释代时间戳-->  
        </commentGenerator>  
          
        <!-- jdbc连接 -->  
        <jdbcConnection driverClass="${jdbc_driverClassName}"  
            connectionURL="${jdbc_url}" userId="${jdbc_username}"  
            password="${jdbc_password}" />  
          
        <!-- 类型转换 -->  
        <javaTypeResolver>  
            <!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) -->  
            <property name="forceBigDecimals" value="false"/>  
        </javaTypeResolver>  
          
        <!-- 生成实体类地址 -->    
        <javaModelGenerator targetPackage="com.tangdi.production.convenience.domain"  
            targetProject="src/main/java" >  
            <!-- 是否在当前路径下新加一层schema,eg:fase路径com.oop.eksp.user.model, true:com.oop.eksp.user.model.[schemaName] -->  
            <property name="enableSubPackages" value="false"/>  
            <!-- 是否针对string类型的字段在set的时候进行trim调用 -->  
            <property name="trimStrings" value="true"/>  
        </javaModelGenerator>  
          
        <!-- 生成mapxml文件 -->  
        <sqlMapGenerator targetPackage="convenience-mapper"  
            targetProject="src/main/resources" >  
            <!-- 是否在当前路径下新加一层schema,eg:fase路径com.oop.eksp.user.model, true:com.oop.eksp.user.model.[schemaName] -->  
            <property name="enableSubPackages" value="false" />  
        </sqlMapGenerator>  
          
        <!-- 生成mapxml对应client,也就是接口dao -->      
        <javaClientGenerator targetPackage="com.tangdi.production.convenience.dao"  
            targetProject="src/main/java" type="XMLMAPPER" >  
            <!-- 是否在当前路径下新加一层schema,eg:fase路径com.oop.eksp.user.model, true:com.oop.eksp.user.model.[schemaName] -->  
            <property name="enableSubPackages" value="false" />  
        </javaClientGenerator>  
          
        <!-- 配置表信息 
        	1.3.4 版本及以上可以设置Mapper(Dao)后缀 如mapperName="LotteryDao" 
        	tableName为对应的数据库表 domainObjectName是要生成的实体类名 enable*ByExample 是否生成 example类
		-->      
        <table  tableName="convenience_lotteryuser_inf"  domainObjectName="LotteryInf" mapperName="LotteryDao" 
       		enableCountByExample="false" enableDeleteByExample="false" enableSelectByExample="false"  
            enableUpdateByExample="false">  
            <!-- 忽略列,不生成bean 字段 -->  
<!--             <ignoreColumn column="FRED" />   -->
            <!-- 指定列的java数据类型 -->  
<!--             <columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" />  -->
            
        </table>  
    </context>
</generatorConfiguration> 


同样src/main/resources,里面新建 jdbc.properties文件,是上个文件generatorConfig.xml引入的数据库连接相关配置,当然此处也可以直接在generatorConfig.xml中填写相关数据库连接信息

jdbc_driverClassName=com.mysql.jdbc.Driver
jdbc_url=jdbc:mysql://127.0.0.1:3306/dev
jdbc_username=dev
jdbc_password=*******


三.右键pom文件,Run As 用maven build --> Goals中输入 mybatis-generator:generate运行即可




四.mybatis generator gui界面工具 推荐使用

另外,有网友基于mybatis generator开发了一款界面工具, 本工具可以使你非常容易及快速生成Mybatis的Java POJO文件及数据库Mapping文件。 

地址:https://github.com/astarring/mybatis-generator-gui

经试用,也是非常好用! 一般第一次设置过之后,后面双击表名即可!


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
目录
相关文章
|
3月前
|
Java 数据库连接 数据库
Spring boot 使用mybatis generator 自动生成代码插件
本文介绍了在Spring Boot项目中使用MyBatis Generator插件自动生成代码的详细步骤。首先创建一个新的Spring Boot项目,接着引入MyBatis Generator插件并配置`pom.xml`文件。然后删除默认的`application.properties`文件,创建`application.yml`进行相关配置,如设置Mapper路径和实体类包名。重点在于配置`generatorConfig.xml`文件,包括数据库驱动、连接信息、生成模型、映射文件及DAO的包名和位置。最后通过IDE配置运行插件生成代码,并在主类添加`@MapperScan`注解完成整合
594 1
Spring boot 使用mybatis generator 自动生成代码插件
|
XML Java 数据库连接
mybatis plus模板快速生成代码
MybatisX 是一款提升开发效率的 IDEA 插件,尤其适用于处理多表情况。通过 MybatisX-Generator,用户能轻松生成实体类、服务类、Mapper 接口及 XML 文件,显著减少工作量。安装步骤简便:通过 File -&gt; Settings -&gt; Plugins -&gt; Browse Repositories 完成搜索与安装流程。集成数据库后,右键所需操作的数据表,选择 MyBatisX-Generator 进行自动化代码生成。更多细节可参考相关教程。
165 0
|
11月前
|
Java 数据库连接 Maven
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和MyBatis Generator,使用逆向工程来自动生成Java代码,包括实体类、Mapper文件和Example文件,以提高开发效率。
448 2
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
|
11月前
|
前端开发 Java Apache
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个
本文详细讲解了如何整合Apache Shiro与Spring Boot项目,包括数据库准备、项目配置、实体类、Mapper、Service、Controller的创建和配置,以及Shiro的配置和使用。
2479 1
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个
|
11月前
|
搜索推荐 Java 数据库连接
Java|在 IDEA 里自动生成 MyBatis 模板代码
基于 MyBatis 开发的项目,新增数据库表以后,总是需要编写对应的 Entity、Mapper 和 Service 等等 Class 的代码,这些都是重复的工作,我们可以想一些办法来自动生成这些代码。
221 6
|
11月前
|
Java 应用服务中间件 Maven
【终极解决方案】IDEA maven 项目修改代码不生效。
【终极解决方案】IDEA maven 项目修改代码不生效。
1562 1
|
10月前
|
Java 测试技术 项目管理
maven编译本地代码的命令是什么?
【10月更文挑战第26天】maven编译本地代码的命令是什么?
411 0
|
XML Java Maven
"Maven项目模块化大揭秘!掌握Model间最佳继承设计,让你的代码优雅如诗,项目维护不再愁!"
【8月更文挑战第11天】Maven是Java项目中常用的构建工具,其模块化特性对大型项目的管理至关重要。本文介绍Maven中的继承与聚合机制,指导如何通过继承消除重复配置,以及如何通过聚合统一构建多个模块。遵循单一职责原则,文章建议按功能划分模块,并提供了父POM与子POM的配置示例。此外,还讨论了适度模块化、依赖管理的原则,帮助提升项目的可维护性和扩展性。
165 4
|
2月前
|
Java 区块链 Maven
关于引入maven项目后出现‘parent.relativePath’ of POM错误时的解决方法
关于引入maven项目后出现‘parent.relativePath’ of POM错误时的解决方法
288 3
|
1月前
|
Java jenkins 应用服务中间件
结合Jenkins与Tomcat,实施Maven项目的自动构建和部署流程。
任何项目构建和部署的自动化流程,总离不开对各个环节精细把控与密切配合。涉及到源代码管理、构建工具、持续集成服务器以及最终的运行时环境的协调。通过上述简洁实用的步骤,可以实现Maven项目从源代码到运行状态的无缝过渡,进而提升软件开发的效率与质量。
192 0

推荐镜像

更多