逆向工程项目
Mybatis:MyBatis 是一款优秀的基于java的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis的主要设计目的就是让我们对执行SQL语句时对输入输出的数据管理更加方便,所以方便地写出SQL和方便地获取SQL的执行结果才是MyBatis的核心竞争力。
逆向工程:mybatis官方为了提高开发效率,提高自动对单表生成sql,包括 :mapper.xml(配置文件)、mapper.java(接口)、表名.java(pojo类、Javabeen)在企业开发中通常是在设计阶段对表进行设计 、创建。 在开发阶段根据表结构创建对应的pojo类。mybatis逆向工程的方向:由数据库表 —>java代码。
1.创建maven项目
打开idea,选择New Project,选择maven
输入GroupId和ArtifactId,完成后点击next
确认项目名称、路径,没问题后点击Finish
2.在pom.xml文件添加依赖
在pom.xml里面添加下面信息
<dependencies> <!--mysql驱动--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.26</version> </dependency> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.2</version> </dependency> <!--MyBatis整合SpringBoot框架的起步依赖--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.0.0</version> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.ibatis/ibatis-core --> <dependency> <groupId>org.apache.ibatis</groupId> <artifactId>ibatis-core</artifactId> <version>3.0</version> </dependency> </dependencies>
<build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> </resources> <plugins> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.2</version> <configuration> <!-- mybatis用于生成代码的配置文件 --> <configurationFile>GeneratorMapper.xml</configurationFile> <verbose>true</verbose> <overwrite>true</overwrite> </configuration> </plugin> <!--Springboot项目编译打包插件--> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
3.创建application.properties
在resources下面创建application.properties,用于存储数据库相关信息
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone = GMT%2B8 spring.datasource.username=root spring.datasource.password=rootfenfen
4.创建GeneratorMapper.xml文件
在根目录下创建GeneratorMapper.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> <!--********mysql驱动路径 需修改--> <classPathEntry location="D:/mavenrepository/mysql/mysql-connector-java/8.0.26/mysql-connector-java-8.0.26.jar"/> <context id="testTables" targetRuntime="MyBatis3"> <commentGenerator> <!-- 是否去除自动生成的注释 true:是 : false:否 --> <property name="suppressAllComments" value="true"/> </commentGenerator> <!--数据库连接的信息:驱动类、连接地址、用户名、密码 需修改--> <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/ry-vue" userId="root" password=""> </jdbcConnection> <!-- <jdbcConnection driverClass="oracle.jdbc.OracleDriver" connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:yycg" userId="yycg" password="yycg"> </jdbcConnection> --> <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal --> <javaTypeResolver> <property name="forceBigDecimals" value="false"/> </javaTypeResolver> <!-- targetProject:生成PO类的位置 需修改--> <javaModelGenerator targetPackage="com.pojo" targetProject="src/main/java"> <!-- enableSubPackages:是否让schema作为包的后缀 --> <property name="enableSubPackages" value="false"/> <!-- 从数据库返回的值被清理前后的空格 --> <property name="trimStrings" value="true"/> </javaModelGenerator> <!-- targetProject:mapper映射文件生成的位置 需修改--> <sqlMapGenerator targetPackage="com.mapper" targetProject="src/main/java"> <!-- enableSubPackages:是否让schema作为包的后缀 --> <property name="enableSubPackages" value="false"/> </sqlMapGenerator> <!-- targetPackage:mapper接口生成的位置 需修改--> <javaClientGenerator type="XMLMAPPER" targetPackage="com.mapper" targetProject="src/main/java"> <!-- enableSubPackages:是否让schema作为包的后缀 --> <property name="enableSubPackages" value="false"/> </javaClientGenerator> <!-- 指定数据库表 --> <table tableName="sys_role" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"> </table> </context> </generatorConfiguration>
注意:
(1)修改 里面的loaction路径。
(2)修改生成路径
(3)增加数据库表
目录结构如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-op3IbmkO-1658067327607)(C:\Users\86184\AppData\Roaming\Typora\typora-user-images\image-20220716160838492.png)]
5.执行逆向工程
在Maven里面双击mybatis-generator插件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NZmdqBHh-1658067327609)(C:\Users\86184\AppData\Roaming\Typora\typora-user-images\image-20220716161059725.png)]
6.运行完成,在目录文件下面寻找相应文件
(3)增加数据库表
目录结构如下:
[外链图片转存中…(img-op3IbmkO-1658067327607)]
5.执行逆向工程
在Maven里面双击mybatis-generator插件
[外链图片转存中…(img-NZmdqBHh-1658067327609)]
6.运行完成,在目录文件下面寻找相应文件