mybitis Generator应用实践(mybitis自动生成代码)

本文介绍如何使用MyBatis Generator插件自动生成Java实体类、Mapper接口及XML映射文件,通过配置pom.xml和generatorConfig.xml实现与数据库表的映射,简化了开发过程。

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

一.问题描述

      在写导入脚本校验的时候,连接应用已经有的数据库。使用mybitis或者hibernate这样的ORM框架操作数据库的时候,需要建立POJO与数据库中表做映射,才能直接用JAVA方法操作数据库。之前都只是读过mybitisGenertor相关的资料,一直都没有实践。趁着这次工作机会,尝试使用mybitisGenerator。

二.应用

    pom.xml

   <dependencies>
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>1.3.2</version>
		</dependency>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>org.mybatis.generator</groupId>
			<artifactId>mybatis-generator-core</artifactId>
			<version>1.3.5</version>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.mybatis.generator</groupId>
				<artifactId>mybatis-generator-maven-plugin</artifactId>
				<version>1.3.2</version>
				<configuration>
					<verbose>true</verbose>
					<overwrite>true</overwrite>
				</configuration>
			</plugin>
		</plugins>
		<resources>
			<resource>
				<directory>src/main/java</directory>
				<includes>
					<include>**/*.xml</include>
				</includes>
			</resource>
		</resources>
	</build>

 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>
    <classPathEntry location="D:\maven_repo\mysql\mysql-connector-java\8.0.13\mysql-connector-java-8.0.13.jar"/>
    <context id="context1">
        <!-- 是否生成注释 -->
        <commentGenerator>
            <property name="suppressDate" value="true"/>
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>
        <!-- 数据库连接 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/test2?characterEncoding=utf8&amp;useSSL=true&amp;createDatabaseIfNotExist=true&amp;autoReconnect=true"
                        userId="root" password="root" />

        <!-- 生成的包名和工程名 -->
        <javaModelGenerator targetPackage="com.levenx.entity"
                            targetProject="src/main/java"/>
        <sqlMapGenerator targetPackage="com.levenx.mapping"
                         targetProject="src/main/java" />
        <javaClientGenerator targetPackage="com.levenx.dao"
                             targetProject="src/main/java" type="XMLMAPPER" />

        <!-- 数据库表 -->
        <table  tableName="boss" domainObjectName="User">
            <!-- 设置别名 -->
            <columnOverride column="zh_name" property="zhName" />
            <columnOverride column="user_id" property="userId" />
        </table>
    </context>
</generatorConfiguration>

 mybitisGenerator插件的触发方式

    1.maven projects 手动点击触发

   2.JAVA代码触发

public static void  main(String[] args) throws Exception{
            List<String> warnings = new ArrayList<String>();
            boolean overwrite = true;
            File configFile = new File("D:\\java\\mybitits\\src\\main\\resources\\generatorConfig.xml");//mbg.xml为上面创建的配置文件。
            ConfigurationParser cp = new ConfigurationParser(warnings);
            Configuration config = cp.parseConfiguration(configFile);
            DefaultShellCallback callback = new DefaultShellCallback(overwrite);
            MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
            myBatisGenerator.generate(null);
    }

 触发之前文件结构:

数据库字段:

插件触发使用,项目结构:

 

红框中的文件是插件自动生成,mybitis基本操作结构。

此后开始生产脚本^_^..

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乐闻x

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值