谈到逆向工程,首先要知道逆向工程有什么好处? 能够给我们带来什么?
①好处:减少对死板代码的编写
②带来什么:只需要编写一次即可,减少浪费不必要浪费的时间,这样我们就可以抽出更多的时间来处理其他的麻烦的问题
要使用mybatis的逆向工程有如下步骤:
方式一:手动添加jar包的方式
①创建一个Java工程
②加入相应的jar包
③写相应的配置文件
mybatis-generator.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>
<context id="DB2Tables" targetRuntime="MyBatis3">
<!-- 连接数据库基本信息 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/mybatis" userId="root" password="123456"></jdbcConnection>
<!--Java类型解析 -->
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- 生产Java实体类型 -->
<javaModelGenerator targetPackage="com.mybatis.model" targetProject=".\src">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!--生成映射文件 -->
<sqlMapGenerator targetPackage="com.mybatis.mapper" targetProject=".\config">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!--生成Mapper接口所在的位置 -->
<javaClientGenerator targetPackage="com.mybatis.mapper" type="XMLMAPPER" targetProject=".\src">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!-- table:连接表的信息 -->
<table tableName="tbl_employee" domainObjectName="Employee"></table>
<table tableName="tbl_userinfo" domainObjectName="UserInfo"></table>
</context>
</generatorConfiguration>
测试类 TestDame.java
package com.mybatis.test;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.internal.DefaultShellCallback;
public class TestDame {
@Test
public void test01() throws Exception, Exception{
List<String> strList =new ArrayList<String>();
//
boolean overwrite=true;
//读取配置文件
File configFile=new File("config/mybatis-generator.xml");
//配置解析器
ConfigurationParser cp=new ConfigurationParser(strList);
Configuration config = cp.parseConfiguration(configFile);
DefaultShellCallback callback=new DefaultShellCallback(overwrite);
MyBatisGenerator myBatisGenerator=new MyBatisGenerator(config, callback, strList);
myBatisGenerator.generate(null);
}
}
这段代码可以直接从mybatis官网上去拷贝
这就是第一种方式
第二种方式:使用maven的方式
①创建一个maven工程
②加入pom.xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<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>com.maven</groupId>
<artifactId>maven-mybatis</artifactId>
<version>1.0-SNAPSHOT</version>
<!--MyBatis逆向工程插件-->
<build>
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.5</version>
<configuration>
<configurationFile>src/main/resources/mybatis-generator.xml</configurationFile>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
<executions>
<execution>
<id>Generate MyBatis Artifacts</id>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.5</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.35</version>
<scope>runtime</scope>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</project>
③ 写一个测试类UserTest.java
package com.mybatis.test;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.internal.DefaultShellCallback;
public class UserDame {
@Test
public void test01() throws Exception, Exception{
List<String> strList =new ArrayList<String>();
//
boolean overwrite=true;
//读取配置文件
File configFile=new File("config/mybatis-generator.xml");
//配置解析器
ConfigurationParser cp=new ConfigurationParser(strList);
Configuration config = cp.parseConfiguration(configFile);
DefaultShellCallback callback=new DefaultShellCallback(overwrite);
MyBatisGenerator myBatisGenerator=new MyBatisGenerator(config, callback, strList);
myBatisGenerator.generate(null);
}
}