我们先创建一个springboot项目
下面可以根据自己的项目需求命名,我们这里只是一个例子,所以选择默认
然后后面默认下一步,然后为项目取一个名字,在此我就保持默认,创建成功我们看一下目录结构
下面我们看一下pom.xml文件
默认是有以下这些的
下面我们添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</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.7</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>2.2.1.RELEASE</version>
<scope>test</scope>
</dependency>
把application.properties改为application.yml
然后我们修改我们的yml文件
spring:
datasource:
username: root
password: root
url: jdbc:mysql://localhost:3306/数据库名称?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&useSSL=true
driver-class-name: com.mysql.cj.jdbc.Driver
由于我使用的是MYSQL8.0所有最后userSSL=true,8.0以前的版本请改为false
下面我们需要配置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>
<!-- 引入 application.yml -->
<properties resource="application.yml" />
<context id="DB2Tables" targetRuntime="MyBatis3" defaultModelType="flat">
<commentGenerator>
<!-- 是否去除日期自动生成的注释 true:是 : false:否 -->
<property name="suppressDate" value="true"/>
<!-- 是否去除自动生成的所有注释 true:是 : false:否 -->
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!--数据库链接URL,用户名、密码 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/数据库名称?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=true"
userId="root"
password="root">
<property name="nullCatalogMeansCurrent" value="true"></property>
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- 生成模型的包名和位置-->
<javaModelGenerator targetPackage="com.example.demo.entity" targetProject="src/main/java">
<property name="enableSubPackages" value="false"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- 生成映射文件的包名和位置-->
<sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
<property name="enableSubPackages" value="false"/>
</sqlMapGenerator>
<!-- 生成DAO的包名和位置-->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.example.demo.dao" targetProject="src/main/java">
<property name="enableSubPackages" value="false"/>
</javaClientGenerator>
<!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名-->
<table tableName="user_info" domainObjectName="UserInfo"></table>
</context>
</generatorConfiguration>
你可以直接使用这个XML文件,但是你要修改几处信息
第一:数据库链接URL,用户名、密码
第二:生成模型的包名和位置
第三:生成DAO的包名和位置
第四:table表信息(这里的user_info是数据库表,UserInfo是需要生成的entity类)
下面我们需要一个执行文件
//这里我们需要修改new File()中的路径,根据自己实际情况修改
public static void main(String[] args) throws Exception, XMLParserException {
List<String> warnings = new ArrayList<String>();
boolean overwrite = true;
File configFile = new File("D:\\Workspace\\workspace-java\\IDEA\\demo\\src\\main\\resources\\mybatis-generator.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);
}
运行后的结果多了一个entity,dao,mapper
然后再次设置yml文件
mybatis:
mapper-locations: classpath:mapper/*.xml
type-aliases-package: com.example.demo
然后我们修改DemoApplication
加入上面的注解和路径,到此我们的逆向工程就结束了。