使用Hibernate时, 可以很方便的生成model,dao,和映射配置文件.在mybatis里, 也有生成器, 即mybatis generator, 简称MBG. 下面为大家介绍一下MBG的使用.
下载mybatis-generator-core-1.3.1-bundle.zip之后, 解压得到mybatis-generator-core-1.3.1.jar, 即生成器的jar包, 将mybatis-3.0.6.jar和mybatis-generator-core-1.3.1.jar加入到项目的lib里, 然后编写一个生成器的配置文件generatorConfig.xml.
介绍一下genernatorConfig.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>
<properties resource="com/yuan/mybatis/mbg/util/generatorConfig.properties" />
<classPathEntry location="${classPath}" />
<context id="MBG" targetRuntime="MyBatis3" defaultModelType="conditional">
<plugin type="org.mybatis.generator.plugins.EqualsHashCodePlugin" />
<plugin type="org.mybatis.generator.plugins.MapperConfigPlugin">
<property name="fileName" value="GeneratedMapperConfig.xml" />
<property name="targetPackage" value="com.yuan.mybatis.mbg.util" />
<property name="targetProject" value="${targetProject}" />
</plugin>
<commentGenerator>
<property name="suppressAllComments" value="true" />
</commentGenerator>
<jdbcConnection driverClass="${driverClass}"
connectionURL="${connectionURL}" userId="${userId}" password="${password}">
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<javaModelGenerator targetPackage="${modelPackage}"
targetProject="${targetProject}">
<property name="enableSubPackages" value="true" />
</javaModelGenerator>
<sqlMapGenerator targetPackage="${sqlMapperPackage}"
targetProject="${targetProject}">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<javaClientGenerator type="XMLMAPPER"
targetPackage="${daoMapperPackage}" targetProject="${targetProject}">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<table schema="minghan" tableName="sys_group" domainObjectName="Group">
<generatedKey column="groupId" sqlStatement="mysql"
identity="true" />
</table>
<table schema="minghan" tableName="sys_admin" domainObjectName="Admin"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false">
</table>
</context>
</generatorConfiguration>
其中的properties元素里引用了一个generatorConfig.properties配置文件是为了方便移植的时候,只需修改resource的路径值和generatorConfig.properties里的值即进行生成操作.
generatorConfig.properties代码如下:
classPath=D\:/ylink/myeclipse/MBG/lib/mysql-connector-java-5.0.7-bin.jar
targetProject=D\:/ylink/myeclipse/MBG/src
driverClass=com.mysql.jdbc.Driver
connectionURL=jdbc\:mysql\://127.0.0.1\:3306/minghan?useUnicode\=true&characterEncoding\=UTF-8
userId=root
password=root
modelPackage=com.yuan.mybatis.mbg.model
sqlMapperPackage=com.yuan.mybatis.mbg.model.mapper
daoMapperPackage=com.yuan.mybatis.mbg.dao.mapper
其中, targetProject是工程的源代码存放位置
classPath是数据库驱动包的位置, modelPackage是存放model实体的包, 对应数据库表, sqlMapperPackage是存放实体映射的XML配置文件, daoMapperPackage是存放Mapper接口的地方.
注意: 要事先建立这些包才可以生成.
如果不想生成mybatis的注释信息, 可以将commentGenerator里的suppressAllComments的值设为true,
table元素对应数据库表.
如
<table schema="minghan" tableName="sys_admin" domainObjectName="Admin"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false">
</table>
schema即为数据库名, tableName为对应的数据库表, domainObjectName是要生成的实体类, 如果想要mapper配置文件加入sql的where条件查询, 可以将enableCountByExample等设为true, 这样就会生成一个对应domainObjectName的Example类, enableCountByExample等设为false时, 就不会生成对应的Example类了.
配置文件配好了之后,
进行生成代码, 既可以使用命令的方式, 也可以自已写一个带main的类来运行, 下面提供了一个带main的运行类
MyBatisGeneratorTool.java
package com.yuan.mybatis.mbg.util;
import java.io.File;
import java.io.IOException;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.exception.InvalidConfigurationException;
import org.mybatis.generator.exception.XMLParserException;
import org.mybatis.generator.internal.DefaultShellCallback;
public class MyBatisGeneratorTool {
public static void main(String[] args) {
List<String> warnings = new ArrayList<String>();
boolean overwrite = true;
String genCfg = "/generatorConfig.xml"; //src的一级目录下
File configFile = new File(MyBatisGeneratorTool.class.getResource(genCfg).getFile());
ConfigurationParser cp = new ConfigurationParser(warnings);
Configuration config = null;
try {
config = cp.parseConfiguration(configFile);
} catch (IOException e) {
e.printStackTrace();
} catch (XMLParserException e) {
e.printStackTrace();
}
DefaultShellCallback callback = new DefaultShellCallback(overwrite);
MyBatisGenerator myBatisGenerator = null;
try {
myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
} catch (InvalidConfigurationException e) {
e.printStackTrace();
}
try {
myBatisGenerator.generate(null);
} catch (SQLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
运行此类即可生成对应于数据库表的实体类, Mapper配置文件, Mapper接口, 生成后可以测试其可用性.
附件里是Demo
分享到:
相关推荐
MyBatis Generator(MBG)是一款强大的代码生成工具,它能帮助开发者自动生成MyBatis相关的Model类、Mapper接口及XML配置文件,极大地提升了开发效率。以下是对MyBatis Generator的详细说明,以及如何结合提供的"MBG...
在这个名为"MyBatis Generator逆向工程生成代码完整demo"的项目中,我们将深入探讨如何利用MBG进行数据库反向工程,并生成所需的PO(Plain Old Java Object)类、mapper映射文件和mapper接口。 首先,MBG的核心功能...
接下来,我们通过命令行或者构建工具(如Maven)来执行Mybatis Generator,生成代码。例如,如果你使用Maven,可以在pom.xml中添加Mybatis Generator的依赖,并在build部分添加执行生成代码的插件配置。 在执行生成...
MyBatis Generator 使用手册将指导用户如何使用 MyBatis Generator 生成代码,包括安装、配置、使用等方面的内容。该手册适合初学者和有经验的开发者,旨在帮助用户快速掌握 MyBatis Generator 的使用。 二、 安装 ...
MyBatis Generator(MBG)是一个强大的工具,用于自动生成Java源代码和XML配置文件,大大简化了开发人员的工作,特别是在处理与数据库交互时。它根据数据库中的表信息,能够生成DAO层、Model层以及Mapper XML文件,...
包含mybatis-generator-core-1.3.2.jar、mysql数据库连接jar包mysql-connector-java-5.1.7-bin.jar、mybatis3.2.7.jar以及自动生成代码的完整demo。
总的来说,MyBatis Generator是一款高效实用的代码生成工具,它通过自动化的方式帮助开发者快速构建数据访问层,同时还能自定义生成代码的样式和内容,适应不同的开发需求。配合数据库注释,MBG能显著提升代码的...
在标题提到的"mybatis反向生成工具(完整demo源代码,ui界面,非maven直接运行)mybatis-generator-core"中,我们看到的是一个具有图形用户界面的MBG版本,这意味着用户可以通过UI来直观地选择要生成代码的数据库表...
在这个"利用Mybatis Generator 生成代码的demo"中,我们将深入探讨如何使用这个工具,并了解相关的知识点。 首先,`mysql-connector-java-5.1.27-bin.jar`是MySQL数据库的JDBC驱动,它允许Java程序与MySQL数据库...
使用说明: 1、打开generatorConfig.xml ... 3、配置tableName(表明)、...java -jar mybatis-generator-core-1.3.5.jar -configfile generatorConfig.xml -overwrite 提示successfully即生成成功(src/目录中)。
MyBatis Generator(MBG)是一款强大的自动化代码生成工具,它可以极大地提高开发效率,通过配置文件自动生成MyBatis的Mapper接口、XML映射文件以及Java实体类。在这个"mybatis-generator 自动生的 demo"中,我们能...
配置完成后,执行`mvn mybatis-generator:generate`命令,系统就会根据配置自动生成代码,无需手动编写繁琐的DAO层代码。 接下来是Java程序生成方式。这种方式适合不使用Maven或者希望在运行时动态生成代码的场景。...
最后,编写一个执行MBG的Java类,调用`org.mybatis.generator.api.MyBatisGenerator`进行代码生成: ```java import org.mybatis.generator.api.MyBatisGenerator; import org.mybatis.generator.config....
【描述】"idea开发工具使用springboot+gradle+mybatis逆向生成代码demo,亲测可用"表明这是一个实际操作过的示例,旨在展示如何在Idea中结合Spring Boot和Gradle配置MyBatis的逆向工程功能,自动生成数据库模型、...
6. **运行Generator**:通过Java代码或者命令行方式执行Generator,自动生成代码。 【Mybatis Generator的使用】 1. **配置数据库连接**:在`generatorConfig.xml`中设置数据库URL、用户名、密码和驱动类名。 2. ...
包含mybatis-generator-core-1.3.2.jar、mysql数据库连接jar包mysql-connector-java-5.1.7-bin.jar、mybatis3.2.7.jar以及通过MybatisGenerator类和配置文件生成代码的完整demo。
在`mybatis-generator-demo.zip`压缩包中,我们很可能会找到一个完整的 MBG 示例项目,帮助开发者了解如何使用这个工具。 首先,让我们来理解 MyBatis Generator 的核心概念: 1. **配置文件**:MBG 的工作基于一...
MyBatisGenerator-工具 在Intellij IDEA中结合Gradle使用MyBatis生成器逆向生成代码 信息: JDK 1.8 Gradle2.14 Intellij IDEA 2016.3 前言 由于采用了IDEA的教程,并且MyBatis Generator不支持Gradle直接运行,...