使用mybatis-generator快速生成代码

本文详细介绍如何使用MyBatis Generator自动生成model、mapper、dao代码,包括Maven项目的配置步骤、generatorConfig.xml文件的设置及运行命令,有效提升开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mybatis-generator是一个可以在使用mybatis框架时很方便的自动生成model,mapper,dao的工具,它可以大大的节省我们的开发时间,今天自己在搭建项目的时候研究了下,下面把自己的配置过程记录下来:

本人是使用maven构建的项目,开发工具使用的是IDEA

1.在pom.xml中添加依赖

        <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>1.3.2</version>
        </dependency>

2.在build的plugins添加以下内容

<plugin>
	<groupId>org.mybatis.generator</groupId>
	<artifactId>mybatis-generator-maven-plugin</artifactId>
	<version>1.3.2</version>
	<configuration>
		<configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
		<verbose>true</verbose>
		<overwrite>true</overwrite>
	</configuration>
	<dependencies>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.39</version>
		</dependency>
	</dependencies>
</plugin>

3.在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>
    <context id="my">
        <!--   mysql数据库连接的参数     -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/mango"
                        userId="****" password="******" />
        <!-- 配置model实体类文件的位置 -->
        <javaModelGenerator targetPackage="com.levy.mango.model"
                            targetProject="D:/develop/java/workspace/mango/src/main/java">
            <!-- 在targetPackage的基础上,根据数据库的schema再生成一层package,最终生成的类放在这个package下,默认为false -->
            <property name="enableSubpackages" value="true"/>
            <!-- 设置是否在getter方法中,对String类型字段调用trim()方法 -->
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
        <!-- 生成mapper.xml配置文件位置 -->
        <sqlMapGenerator targetPackage="com.levy.mango.sqlmap"
                         targetProject="D:/develop/java/workspace/mango/src/main/java">
            <property name="enableSubpackages" value="true"/>
        </sqlMapGenerator>
        <!-- 生成mapper接口文件位置 -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.levy.mango.mapper"
                             targetProject="D:/develop/java/workspace/mango/src/main/java">
            <property name="enableSubpackages" value="true"/>
        </javaClientGenerator>
        <!-- 需要生成的实体类对应的表名,每个table对应一个表,我的是两个这里就是配置两个 -->
        <!-- tableName:数据库表名,domainObjectName:生成的对应实体类的名称 -->
        <!-- 需要生成的实体类对应的表名,多个实体类复制多份该配置即可 -->
        <!-- enableCountByExample:指定是否生成动态查询总条数语句(用于分页的总条数查询) -->
        <!-- enableUpdateByExample:指定是否生成动态修改语句(只修改对象中不为空的属性) -->
        <!-- enableDeleteByExample:指定是否生成动态删除语句 -->
        <!-- enableSelectByExample:指定是否生成动态查询语句 -->
        <table tableName="sys_user" domainObjectName="SysUser"
                <!-- 指定是否生成动态查询总条数语句(用于分页的总条数查询) -->
               enableCountByExample="false" enableUpdateByExample="false"
               enableDeleteByExample="false" enableSelectByExample="false"
               selectByExampleQueryId="false" />
        <table tableName="sys_user_role" domainObjectName="SysUserRole"
               enableCountByExample="false" enableUpdateByExample="false"
               enableDeleteByExample="false" enableSelectByExample="false"
               selectByExampleQueryId="false" />
    </context>
</generatorConfiguration>

4.使用命令运行生成代码:

在Idea右侧点击maven,点击plugins,找到mybatis-generator,展开选项,双击运行。

(ecplise中运行方法:,右击工程,找到maven=>maven build,添加以下命令:mybatis-generator:generate)

5.运行后可以在控制台看到相应的生成对应表数据的信息。具体对于mybatis-generator的详细使用可以参照此博客:https://blog.youkuaiyun.com/testcs_dn/article/details/77881776

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值