Spring Boot2.X-整合mybatis+mysql自动生成代码

该博客介绍了如何配置并使用MyBatis Generator来自动化生成SpringBoot项目的实体类、Mapper接口和XML映射文件。通过配置pom.xml、generator.properties和generatorConfig.xml文件,连接到MySQL数据库,并定义要生成的表,最终成功运行生成代码,简化开发工作流程。

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

目录

1.项目结构

2.项目代码

3.运行mybatis-generator生成代码

4.生成代码


源码下载:https://download.youkuaiyun.com/download/adam_zs/24982691

1.项目结构

2.项目代码

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.5.5</version>
		<relativePath /> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.wzs.springboot</groupId>
	<artifactId>springboot.mybatis</artifactId>
	<version>1.0.0</version>
	<name>spring-boot-mybatis-mysql-auto</name>
	<description>Spring Boot Mybatis Mysql Auto</description>
	<properties>
		<java.version>1.8</java.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>2.2.0</version>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-jdbc</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
		</dependency>

		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-test</artifactId>
		</dependency>

		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<optional>true</optional>
		</dependency>

	</dependencies>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-dependencies</artifactId>
				<version>2.5.5</version>
				<type>pom</type>
				<scope>provided</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
			<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.4.0</version>
				<configuration>
					<configurationFile>${basedir}/src/main/resources/mybatis-generator/generatorConfig.xml
					</configurationFile>
					<overwrite>true</overwrite>
					<verbose>true</verbose>
				</configuration>
			</plugin>
		</plugins>
	</build>

</project>

 generator.properties

driverLocation=d:/mysql-connector-java-8.0.11.jar
driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://10.18.xx.xx:3306/wzsmysql?serverTimezone=UTC&useSSL=false
username=root
password=123456

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="mybatis-generator/generator.properties" />
	<!-- 注释掉 -->
	<classPathEntry location="${driverLocation}" />

	<context id="MysqlTables" targetRuntime="MyBatis3">
		<commentGenerator>
			<property name="suppressDate" value="true" />
			<!-- 是否去除自动生成的注释 true:是 : false:否 -->
			<property name="suppressAllComments" value="true" />
		</commentGenerator>

		<!--数据库连接参数 -->
		<jdbcConnection driverClass="${driverClassName}" connectionURL="${url}" userId="${username}"
			password="${password}">
			<!--解决连接到别的数据库表问题 -->
			<property name="nullCatalogMeansCurrent" value="true" />
			<!--解决不生成delete、update等 -->
			<property name="useInformationSchema" value="true" />
		</jdbcConnection>

		<javaTypeResolver>
			<property name="forceBigDecimals" value="false" />
		</javaTypeResolver>

		<!-- 实体类的包名和存放路径 -->
		<javaModelGenerator targetPackage="com.wzs.springboot.mybatis.domain" targetProject="src/main/java">
			<property name="enableSubPackages" value="true" />
			<property name="trimStrings" value="true" />
		</javaModelGenerator>

		<!-- 生成映射文件*.xml的位置 -->
		<sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
			<property name="enableSubPackages" value="true" />
		</sqlMapGenerator>

		<!-- 生成DAO的包名和位置 -->
		<javaClientGenerator type="XMLMAPPER" targetPackage="com.wzs.springboot.mybatis.mapper"
			targetProject="src/main/java">
			<property name="enableSubPackages" value="true" />
		</javaClientGenerator>

		<!-- tableName:数据库中的表名或视图名;domainObjectName:生成的实体类的类名 -->
		<table tableName="user" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false"
			enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />

	</context>
</generatorConfiguration>

my.sql

CREATE TABLE user(
  id INT PRIMARY KEY AUTO_INCREMENT COMMENT '学号',
  name VARCHAR(20) COMMENT '姓名',
  age    int COMMENT '年龄'
) COMMENT='学生信息';

select * from user;
insert user(id,name,age) VALUES(null,'wangzs1',31);
insert user(id,name,age) VALUES(null,'wangzs2',32);
insert user(id,name,age) VALUES(null,'wangzs3',33);
insert user(id,name,age) VALUES(null,'wangzs4',34);

3.运行mybatis-generator生成代码

4.生成代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值