大家好,我是IT修真院深圳分院第十期学员,一枚正直纯洁善良的JAVA程序员。
今天给大家分享一下,修真院官网JAVA任务四——数据库逆向生成代码
1.背景介绍
逆向工程简介
做项目必然要先进行数据库表设计,然后根据数据库设计建立实体类,这是理所当然的。但是一般公司里做项目时,没有说既进行完数据库设计后还要再“自己”建立一遍实体类。意思是,在项目设计时,要么根据需求分析建立实体类,由正向生成数据库表;要么就先进行数据库表设计,再逆向生成实体类。没有说进行完任意一方的设计后再去花时间去自己匹配建立另一方的设计。
2.知识剖析
什么是逆向工程
为什么要使用逆向工程
MBG
什么是逆向工程
mybaits需要程序员自己编写sql语句,mybatis官方提供逆向工程 可以针对单表自动生成mybatis执行所需要的代码(mapper.java,mapper.xml、po..) 企业实际开发中,常用的逆向工程方式: 由于数据库的表生成java代码。
为什么要使用逆向工程
1、2倍工作量,浪费时间。(时间对公司来说很重要)
2、无法保证两边映射一致。因为两边都是自己设计的,那么就需要人为保证映射关系统一,会有隐患。
3、开发、维护上都不利。因为如果任意一方因某些原因需要改用,那么经常要两边都要改,这样的话映射不一致的可能性不仅更大,而且效率低下。而如果利用正逆向工程的话,则很容易解决。
MBG
MyBatis Generator (MBG)是一个专门为Mybatis和iBATIS写的代码生成器。它可以为所有版本的Mybatis和2.2.0之后版本的iBATIS生成代码。MBG可以生成一些简单的CRUD的数据库操作,但稍微复杂的sql仍需要自己写。
3.常见问题
4.解决方案
5.扩展思考
逆向工程中的核心包有哪些
mysql-connector-java
mybatis-generator-core
配置逆向工程的配置文件
配置文件其实都是官方提供的模板文档,我们要做的就是读懂配置文件,找到核心的内容
6.编码实战
主函数的方式
1.pom文件要加入两个依赖包
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.0.4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mybatis.generator/mybatis-generator-core -->
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.5</version>
</dependency>
2.xml文件
<?xml version="1.0" e