一、逆向工程是什么?
逆向工程是动他生成XXXMapper抽象类和XXXMapper.xml文件操作。
二、逆向工程代码步骤?
1.创建maven项目导入逆向工程依赖
mysql
mysql-connector-java
8.0.16
org.slf4j
slf4j-log4j12
1.6.1
org.mybatis.generator
mybatis-generator-core
1.3.2
src/main/java
**/*.xml
true
src/main/resources
true
2.配置逆向工程配置文件 在resources目录下放置一个名为generatorConfig.xml的配置文
xml version="1.0" encoding="UTF-8"?>
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
connectionURL="jdbc:mysql://127.0.0.1:3306/mydb?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true"
userId="root"
password="123456">
targetProject="D:javaMybatis_bubaMybaits_04srcmainjava">
targetProject="D:javaMybatis_bubaMybaits_04srcmainresources">
targetPackage="cn.com.buba.mapper"
targetProject="D:javaMybatis_bubaMybaits_04srcmainjava">
enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false"
enableSelectByExample="false" selectByExampleQueryId="false" >
上面的配置文件有注释,这里强调一下自己使用需要修改的位置:
(1)需要修改数据库连接信息,修改成自己的数据库的数据库用户名,密码,还有自己的数据库等信息。
(2)需要修改生成的pojo实体类的生成路径,按照实际需求修改,比如这里将会在src/main/java下创建com.pp.pojo包并且生成实体类。
(3)需要修改生成的mapper映射文件的位置,这里将会在src/main/java下创建com.pp.dao包并且生成XXXMapper映射文件。
(4)需要修改生成的mapper映射文件的位置,这里将会在src/main/java下创建com.pp.dao包并且生成XXXMapper.xml映射文件。有些项目的XXXMapper.xml文件会在resource文件下写,所以这里也是根据自己的需求填写位置。
(5)在该配置文件中,需要指定生成那几个数据库表的实体类和mapper接口文件以及mapper.xml文件。
(6)targetProject=(里边填的是绝对路径)
3.在resources目录下放置一个名为log4j.properties的配置文件,文件内容如下
log4j.rootLogger=debug,stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.err
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=d:/msb.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %l %F %p %m%n
4.运行逆向工程代码
public class GeneratorSqlmap {
public void generator() throws Exception{
Listwarnings = new ArrayList ();
boolean overwrite = true;
File configFile = new File("D:\ideaProjects\reverse\target\classes\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 {
GeneratorSqlmap generatorSqlmap = new GeneratorSqlmap();
generatorSqlmap.generator();
} catch (Exception e) {
e.printStackTrace();
}
}
}
4.完整的目录结构(红框中的是自动生成的)



