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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 本文只是对于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

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


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2天前
|
缓存 Java Maven
【简单四步教你解决♥十分有效】Maven依赖报错、依赖或插件导入失败的万能解决办法
【简单四步教你解决♥十分有效】Maven依赖报错、依赖或插件导入失败的万能解决办法!在处理Maven项目问题时,首先检查Maven配置是否正确。接着通过“File--Invalidata Caches”清除IDEA缓存并重启。使用Maven命令`mvn dependency:purge-local-repository`和`mvn dependency:resolve`清除本地依赖缓存。最后,在Terminal中输入`mvn clean install`完成构建。
【简单四步教你解决♥十分有效】Maven依赖报错、依赖或插件导入失败的万能解决办法
|
3月前
|
XML Java 数据库连接
mybatis plus模板快速生成代码
MybatisX 是一款提升开发效率的 IDEA 插件,尤其适用于处理多表情况。通过 MybatisX-Generator,用户能轻松生成实体类、服务类、Mapper 接口及 XML 文件,显著减少工作量。安装步骤简便:通过 File -&gt; Settings -&gt; Plugins -&gt; Browse Repositories 完成搜索与安装流程。集成数据库后,右键所需操作的数据表,选择 MyBatisX-Generator 进行自动化代码生成。更多细节可参考相关教程。
82 0
|
5月前
|
XML Java Maven
maven总结三: 常用插件
maven总结三: 常用插件
58 3
|
23小时前
|
存储 Java Linux
【Maven】——基础入门,插件安装、配置和简单使用,Maven如何设置国内源
Maven插件安装,Maven项目构建,依赖管理,Haven Help插件,Maven仓库,Maven如何设置国内源
|
2月前
|
Java 数据库连接 Maven
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和MyBatis Generator,使用逆向工程来自动生成Java代码,包括实体类、Mapper文件和Example文件,以提高开发效率。
148 2
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
|
2月前
|
搜索推荐 Java 数据库连接
Java|在 IDEA 里自动生成 MyBatis 模板代码
基于 MyBatis 开发的项目,新增数据库表以后,总是需要编写对应的 Entity、Mapper 和 Service 等等 Class 的代码,这些都是重复的工作,我们可以想一些办法来自动生成这些代码。
39 6
|
2月前
|
前端开发 Java Apache
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个
本文详细讲解了如何整合Apache Shiro与Spring Boot项目,包括数据库准备、项目配置、实体类、Mapper、Service、Controller的创建和配置,以及Shiro的配置和使用。
547 1
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个
|
2月前
|
Java 编译器 测试技术
全面理解Maven Compiler Plugin-Maven编译插件
【10月更文挑战第16天】
462 1
|
3月前
|
SQL Java 数据库连接
JavaWeb基础3——Maven基础&MyBatis
构建工具Maven、Maven安装配置、基本使用、IDEA使用Maven、依赖管理、插件、Mybatis、核心配置文件mybatis-config.xml、Mapper代理开发、配置文件实现增删改查、Mybatis参数传递、注解实现增删改查
JavaWeb基础3——Maven基础&MyBatis
|
4月前
|
Java Maven Spring
Maven重打包问题之maven-shade-plugin插件对于重复的class文件会如何处理
Maven重打包问题之maven-shade-plugin插件对于重复的class文件会如何处理
101 2