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

本文涉及的产品
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDSClaw,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;
目录
相关文章
|
10月前
|
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`注解完成整合
1561 1
Spring boot 使用mybatis generator 自动生成代码插件
|
11月前
|
SQL Java 数据安全/隐私保护
发现问题:Mybatis-plus的分页总数为0,分页功能失效,以及多租户插件的使用。
总的来说,使用 Mybatis-plus 确实可以极大地方便我们的开发,但也需要我们理解其工作原理,掌握如何合适地使用各种插件。分页插件和多租户插件是其中典型,它们的运用可以让我们的代码更为简洁、高效,理解和掌握好它们的用法对我们的开发过程有着极其重要的意义。
999 15
|
XML SQL Java
十二、MyBatis分页插件
十二、MyBatis分页插件
404 17
|
SQL Java 数据库连接
【MyBatisPlus·最新教程】包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段
MyBatis-Plus是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。本文讲解了最新版MP的使用教程,包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段等核心功能。
2323 6
【MyBatisPlus·最新教程】包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段
|
SQL 缓存 Java
【详细实用のMyBatis教程】获取参数值和结果的各种情况、自定义映射、动态SQL、多级缓存、逆向工程、分页插件
本文详细介绍了MyBatis的各种常见用法MyBatis多级缓存、逆向工程、分页插件 包括获取参数值和结果的各种情况、自定义映射resultMap、动态SQL
【详细实用のMyBatis教程】获取参数值和结果的各种情况、自定义映射、动态SQL、多级缓存、逆向工程、分页插件
|
XML Java 数据库连接
微服务——SpringBoot使用归纳——Spring Boot集成MyBatis——基于注解的整合
本文介绍了Spring Boot集成MyBatis的两种方式:基于XML和注解的形式。重点讲解了注解方式,包括@Select、@Insert、@Update、@Delete等常用注解的使用方法,以及多参数时@Param注解的应用。同时,针对字段映射不一致的问题,提供了@Results和@ResultMap的解决方案。文章还提到实际项目中常结合XML与注解的优点,灵活使用两者以提高开发效率,并附带课程源码供下载学习。
1002 0
|
前端开发 Java 数据库连接
Java后端开发-使用springboot进行Mybatis连接数据库步骤
本文介绍了使用Java和IDEA进行数据库操作的详细步骤,涵盖从数据库准备到测试类编写及运行的全过程。主要内容包括: 1. **数据库准备**:创建数据库和表。 2. **查询数据库**:验证数据库是否可用。 3. **IDEA代码配置**:构建实体类并配置数据库连接。 4. **测试类编写**:编写并运行测试类以确保一切正常。
723 2
|
Java 数据库连接 Maven
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和MyBatis Generator,使用逆向工程来自动生成Java代码,包括实体类、Mapper文件和Example文件,以提高开发效率。
768 2
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
|
SQL JSON Java
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和PageHelper进行分页操作,并且集成Swagger2来生成API文档,同时定义了统一的数据返回格式和请求模块。
854 1
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
|
前端开发 Java Apache
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个
本文详细讲解了如何整合Apache Shiro与Spring Boot项目,包括数据库准备、项目配置、实体类、Mapper、Service、Controller的创建和配置,以及Shiro的配置和使用。
3435 2
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个