回顧一下MyBatis逆向工程——自動生成代碼
最近做的項目(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"
<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>
回顧一下MyBatis逆向工程——自動生成代碼