回顾一下MyBatis逆向工程——自动生成代码
2018-07-11 21:01
1241 查看
前言
最近做的项目(SSM+Shiro)的数据库表已经创建完成,一共有15张表,如果我们一个个去写pojo/bean的代码以及各种sql语句的话未免太过麻烦而且很容易出错,这个时候我们就需要MyBatis逆向工程去为我们生成这些基本的东西。先来简单的了解一下什么是逆向工程
一 什么是逆向工程
官网解释浓缩版:MyBatis逆向工程需要用到的就是MyBatis官方提供的MyBatis Generator(MBG)。MBG是MyBatis和iBATIS的代码生成器,它将为所有版本的MyBatis以及版本2.2.0之后的iBATIS版本生成代码。MBG对简单CRUD(增删改查)的大部分数据库操作产生重大影响。但是您仍然需要为连接查询或存储过程手动编写SQL和对象代码。
简要概括版:
创建好数据库表之后,MBG可以根据数据库表自动为您生成pojo类、example类(用于添加条件,相当where语句后面的部分 )、mapper文件。
关于Mapper接口以及Example的实例的讲解可以查看这一篇文章:《Mapper接口以及Example的实例》
blog.csdn.net/biandous/ar…
介绍完逆向工程是个什么东西后,接下来我们就要开始学习如何使用它了?
二 使用MyBatis逆向工程
考虑到大家的基础可能不同,所以我尽可能详细一点。2.1 新建Maven项目并添加相关依赖
1.新建Maven项目(普通的Java项目):
2.添加相关依赖(pom.xml):
<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>mybatis-generator</groupId> <artifactId>sql-mapper</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>sql-mapper</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <!--log4j --> <!-- https://mvnrepository.com/artifact/log4j/log4j --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <!--MyBatis Generator --> <!-- 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> <!--mysql-connector-java --> <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.38</version> </dependency> <!--mybatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.1</version> </dependency> </dependencies>
</project>
2.2 项目创建完成之后的目录结构
2.3 MyBatis逆向工程代码编写
核心代码示例(推荐读取xml配置文件的形式,还有一种基于Java的配置这里就不做演示):
List<String> warnings = new ArrayList<String>();
boolean overwrite = true;
//读取xml配置文件,推荐使用这种方式
File configFile = new File("generatorConfig.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);
本项目中使用代码MyBatisGeneratorApp.java:
public class MyBatisGeneratorApp {
public void generator() throws Exception{ List<String> warnings = new ArrayList<String>(); boolean overwrite = true; //指定 逆向工程配置文件 File configFile = new File("generatorConfig.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); } public static void main(String[] args) throws Exception { try { MyBatisGeneratorApp generatorSqlmap = new MyBatisGeneratorApp(); generatorSqlmap.generator(); } catch (Exception e) { e.printStackTrace(); } }
}
2.4 MyBatis逆向工程配置文件以及log4j配置文件编写
MyBatis逆向工程配置文件如下(注释已经解释的很详细了,我这里就不多做解释了):
<?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>
<context id="testTables" targetRuntime="MyBatis3">
<commentGenerator>
2.5 运行结果**
pojo及example类:![](http://i2.51cto.com/images/blog/201807/11/b35d00a911317d14ec4f409f1b4802f1.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
mapper接口及mapper.xml:![](http://i2.51cto.com/images/blog/201807/11/4d839ecddf07c3e1ca6af4c3e35fd549.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
我们已经介绍了MyBatis逆向工程以及它的使用,下面我们简单的总结与补充一下所学的知识。
# **三 总结**
什么是逆向工程?
MBG可以根据数据库表自动为您生成pojo类、example类(用于添加条件,相当where语句后面的部分 )、mapper文件`。
如何使用逆向工程?
pom文件(添加相关jar包)->逆向工程核心代码编写->创建generatorConfig.xml配置文件(可以加上log4j日志打印配置文件)
相关文章推荐
- mybatis 的逆向工程自动生成代码,如果不能使用,可能的原因
- MyBatis逆向工程自动生成代码
- Mybatis逆向工程自动生成代码
- [置顶]springmvc+mybatis,在mybatis逆向工程的基础上使用模板自动生成controller层代码
- MyBatis框架之mybatis逆向工程自动生成代码
- 【MyBatis框架】mybatis逆向工程自动生成代码
- MyBatis框架的学习(七)——MyBatis逆向工程自动生成代码
- Mybatis 逆向工程 自动生成代码
- 【MyBatis框架】mybatis逆向工程自动生成代码
- 10025---MyBatis逆向工程自动生成代码
- 【MyBatis框架】mybatis逆向工程自动生成代码
- (转)MyBatis框架的学习(七)——MyBatis逆向工程自动生成代码
- mybatis逆向工程利用mybatis-generator-core自动生成代码
- MyBatis框架之mybatis逆向工程自动生成代码
- 32Mybatis_mybatis逆向工程自动生成代码
- 【MyBatis框架】mybatis逆向工程自动生成代码
- MyBatis框架的学习(七)——MyBatis逆向工程自动生成代码
- mybatis逆向工程,自动生成代码
- MyBatis自动生成实体类、DAO接口和Mapping映射文件的代码(逆向工程)
- spring+springmvc+mybatis(3)--逆向工程自动生成代码