MyBatis Generator(MBG)的使用

来源:互联网 发布:旅游拼车 知乎 编辑:程序博客网 时间:2024/05/17 00:57

MyBatis Generator(MBG)的使用:

开发工具:eclipse neno
需要的jar包:mybatis-generator-core-1.3.5.jar、
mysql-connector-java-5.1.40.jar
它的运行方式有多种,这里说的是 从另一个 Java 程序 使用 XML 配置文件:
一、首先新建一个maven项目(web项目也可以),新建一个java程序,以下是其代码,详细见官网(http://generator.sturgeon.mopaas.com/running/runningWithJava.html)

package mybatistool;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 mbg {    public static void main(String[] args) {         List<String> warnings = new ArrayList<String>();           boolean overwrite = true;           File configFile = new File("generatorConfig.xml");//这里是加载mybatis generator自动生成的配置文件,注意文件名不要弄错           ConfigurationParser cp = new ConfigurationParser(warnings);           Configuration config;        try {            config = cp.parseConfiguration(configFile);            DefaultShellCallback callback = new DefaultShellCallback(overwrite);               MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);               myBatisGenerator.generate(null);        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (XMLParserException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (InvalidConfigurationException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (InterruptedException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }}

二、有MBG程序就要有xml配置文件generatorConfig.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="mysqlTables" targetRuntime="MyBatis3">  <commentGenerator>  <property name="suppressAllComments" value="true" /></commentGenerator>//连接数据库    <jdbcConnection driverClass="com.mysql.jdbc.Driver"        connectionURL="jdbc:mysql://localhost:3306/oa?useUnicode=true&amp;characterEncoding=UTF-8"        userId="oa"        password="123">    </jdbcConnection>    <javaTypeResolver >      <property name="forceBigDecimals" value="false" />    </javaTypeResolver>//这里是实体生成,也就是java中的类,需要事先在目标src下新建com.oa.entity包。    <javaModelGenerator targetPackage="com.oa.entity" targetProject="/Users/air/Documents/workspace3/oa/src">      <property name="enableSubPackages" value="true" />      <property name="trimStrings" value="true" />    </javaModelGenerator>//这里是sqlmapper配置文件的生成,需要事先在目标src下新建com.oa.sqlmapper包。    <sqlMapGenerator targetPackage="com.oa.sqlmapper"  targetProject="/Users/air/Documents/workspace3/oa/src">      <property name="enableSubPackages" value="true" />    </sqlMapGenerator>//这里生成的是与sqlmapper配置文件相对应的sqlmapper接口,sqlmapper是直接与数据库交互的。需要事先在目标src下新建com.oa.sqlmapper包。    <javaClientGenerator type="XMLMAPPER" targetPackage="com.oa.dao"  targetProject="/Users/air/Documents/workspace3/oa/src">      <property name="enableSubPackages" value="true" />    </javaClientGenerator>//table标签对应数据库中的table表,这里是一个名称为professional的数据表,tableName与数据库中的表名对应    <table tableName="professional" domainObjectName="Professional"     enableSelectByExample="false" enableDeleteByExample="false" enableCountByExample="false" enableUpdateByExample="false"    >      <property name="useActualColumnNames" value="true"/>    </table>//这里是名称为classes的数据表    <table tableName="classes" domainObjectName="Classes"     enableSelectByExample="false" enableDeleteByExample="false" enableCountByExample="false" enableUpdateByExample="false"    >      <property name="useActualColumnNames" value="true"/>    </table>  </context></generatorConfiguration>

三、需要两个jar包(可以先导入jar包再新建java程序)
mybatis-generator-core-1.3.5.jar、mysql-connector-java-5.1.40.jar
如果是使用maven管理程序,在pom.xml中配置依赖即可(pom.xml配置如下):

<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/maven-v4_0_0.xsd">  <modelVersion>4.0.0</modelVersion>  <groupId>com.hello</groupId>  <artifactId>mybatistool</artifactId>  <packaging>war</packaging>  <version>0.0.1-SNAPSHOT</version>  <name>mybatistool Maven Webapp</name>  <url>http://maven.apache.org</url>  <dependencies>    <!-- mybatis-generator -->    <dependency>        <groupId>org.mybatis.generator</groupId>        <artifactId>mybatis-generator-core</artifactId>        <version>1.3.5</version>    </dependency>    <!--mysql-connector -->    <dependency>        <groupId>mysql</groupId>        <artifactId>mysql-connector-java</artifactId>        <version>5.1.40</version>    </dependency>  </dependencies>  <build>    <finalName>mybatistool</finalName>  </build></project>
0 0
原创粉丝点击