mybatis逆向工程
引入pom依赖
<dependency>groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.4.0</version>
<dependency>
MyBatis3DynamicSql 的示例配置
<!DOCTYPE generatorConfiguration PUBLIC
"-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<发电机配置>
<context id="dsql" targetRuntime="MyBatis3DynamicSql">
<jdbcConnection driverClass="org.hsqldb.jdbcDriver"
connectionURL =“ jdbc:hsqldb:mem:aname” />
<javaModelGenerator targetPackage="example.model" targetProject="src/main/java"/>
<javaClientGenerator targetPackage="example.mapper" targetProject="src/main/java"/>
<table tableName="FooTable" />
</上下文>
</generatorConfiguration>
- 适当地创建并填写配置文件
- 将文件保存在某个方便的位置(如 \temp\generatorConfig.xml)
- 使用如下命令从命令行运行 MBG:
java -jar mybatis-generator-core-xxxjar -configfile \ temp \ generatorConfig.xml -overwrite
这将告诉 MBG 使用您的配置文件运行。它还会告诉 MBG 覆盖任何现有的同名 Java 或 Kotlin 文件。如果要保存任何现有文件,请省略-overwrite参数。如果发生冲突,MBG 将使用唯一的名称(例如 MyClass.java.1)保存新生成的文件。
<!DOCTYPE generatorConfiguration PUBLIC
"-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<!--context生成上下文,配置生成规则
targetRuntime:生成策略
MyBatis3Dynamicsql:默认的,会生成带动态sql的CRUD
MyBatis3 生成通用的查询,可以指定动态where条件
MyBatis3Simple只生成简单的CRLD
-->
<context id="simple" targetRuntime="MyBatis3Simple">
<!--数据源-->
<jdbcConnection driverClass="com.mysql.cj.Driver"
connectionURL ="jdbc:mysql://localhost:3306/myblogC"
userId="root"
password="password"/>
<!--
javaModelGenerator:POJO类生成规则(路径)
targetPackage:包路径
targetProject:生成到当前文件的哪个相对路径下
-->
<javaModelGenerator targetPackage="com.zzx.pojo" targetProject="src/main/java"/>
<!--
mapper配置文件,路径
sqlMapGenerator mapper xml映射文件生成规则
targetPackage生成到哪个包下
targetProject生成到当前文件的哪个相路下
-->
<sqlMapGenerator targetPackage="com.zzx.mapper"targetProject="src/main/java"/>
<!--
javaClientGenerator:mapper接口映射地址
type="XMLMAPPER"
1.使用注解形式生成
2.接口绑定方式指定生成的方式
targetPackage生成到哪个包下
targetProject生成到当前文件的哪个相路下
-->
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.zzx.mapper"
targetProject="src/main/resources"/>
<table tableName="FooTable" />
<!--
配置哪些表需要进行代码生成
tableName:对应数据库的表明
domainObjectName:对应数据库POJO类名
mapperName:mapper接口的命名与对应xml映射文件的命名
-->
<table tableName="emp" domainObjectName="Emp" mapperName="EmpMapper"/>
<table tableName="dept" domain0bjectName="Dept" mapperName="DeptMapper"/>
</generatorConfiguration>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.4.0</version>
</dependency>
and
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.4.0</version>
</dependency>
@Test
public void test01() 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);
DefaultShel1Callback callback = new DefaultShel1Callback (overwrite);
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,callback,warnings);
myBatisGenerator.generate(null);
}