mybatis-generator 代码自动生成工具

来源:互联网 发布:手机数据代理ip怎么用 编辑:程序博客网 时间:2024/04/29 16:45

今天来记录下mybatis-generator插件自动生成xml mapper和model还有dao接口,这样我们就可以把精力放在业务代码上,而不需要关心数据库的具体操作。

    这里我使用eclipse作为开发工具,采用maven来构建项目。

1. 编写pom.xml文件

      这里只有3个jar文件,数据库使用mysql

      

<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.jacksoft.mybatis</groupId>  <artifactId>mybatis-generator</artifactId>  <version>0.0.1-SNAPSHOT</version>    <properties>    <mybatis-generator.version>1.3.1</mybatis-generator.version>    <mysql.version>5.1.13</mysql.version>    <mybatis.version>3.0.3</mybatis.version>  </properties>    <dependencies>    <dependency>      <groupId>mysql</groupId>      <artifactId>mysql-connector-java</artifactId>      <version>${mysql.version}</version>    </dependency>      <dependency>      <groupId>org.mybatis.generator</groupId>      <artifactId>mybatis-generator-core</artifactId>      <version>${mybatis-generator.version}</version>    </dependency>    <dependency>      <groupId>org.mybatis</groupId>      <artifactId>mybatis</artifactId>      <version>${mybatis.version}</version>    </dependency>  </dependencies>    <build>    <finalName>mybatis-generator</finalName>  <plugins>    <plugin>      <groupId>org.mybatis.generator</groupId>      <artifactId>mybatis-generator-maven-plugin</artifactId>      <version>${mybatis-generator.version}</version>      <dependencies>      <!-- 数据库驱动  -->        <dependency>          <groupId>mysql</groupId>          <artifactId>mysql-connector-java</artifactId>          <version>${mysql.version}</version>        </dependency>          </dependencies>      <!-- 自动生成 -->      <executions>        <execution>          <id>Generate MyBatis Artifacts</id>          <goals>            <goal>generate</goal>          </goals>          <configuration>            <configurationFile>src/main/resources/config/mysqlGeneratorConfig.xml</configurationFile>            <overwrite>true</overwrite>            <jdbcDriver>com.mysql.jdbc.Driver</jdbcDriver>            <jdbcURL>jdbc:mysql://localhost:3306/demo</jdbcURL>            <jdbcUserId>root</jdbcUserId>            <jdbcPassword>hwroot</jdbcPassword>          </configuration>        </execution>      </executions>    </plugin>      <plugin>      <groupId>org.apache.maven.plugins</groupId>      <artifactId>maven-compiler-plugin</artifactId>      <configuration>        <source>1.5</source>        <target>1.5</target>        <encoding>UTF-8</encoding>      </configuration>    </plugin>    </plugins>  </build></project>

   我这里通过配置插件,让maven在执行install的时候,自动重新生成代码,因为生成的代码中包含mybatis包中的类,所以也需要引入该包。

2.创建mysqlGeneratorConfig.xml文件

    在src/main/resources/config目录下面创建mysqlGeneratorConfig.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">    <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/demo"     userId="root" password="hwroot"/>        <!-- 指定生成的类型为java类型,避免数据库中number等类型字段 -->    <javaTypeResolver>      <property name="forceBigDecimals" value="false"/>    </javaTypeResolver>        <!-- 生成model模型,对应的包,存放位置可以指定具体的路径,如/ProjectName/src,也可以使用MAVEN来自动生成 -->    <javaModelGenerator targetPackage="com.jacksoft.mybatis.generator.model" targetProject="MAVEN">      <property name="enableSubPackages" value="true"/>    </javaModelGenerator>        <!--对应的xml mapper文件  -->    <sqlMapGenerator targetPackage="com.jacksoft.mybatis.generator.dao" targetProject="MAVEN">      <property name="enableSubPackages" value="true"/>    </sqlMapGenerator>        <!-- 对应的dao接口 -->    <javaClientGenerator type="XMLMAPPER" targetPackage="com.jacksoft.mybatis.generator.dao" targetProject="MAVEN">      <property name="enableSubPackages" value="true"/>    </javaClientGenerator>            <table tableName="user" domainObjectName="User"/>  </context></generatorConfiguration>

3. 生成代码

    到这里就差不多了,保存为该文件后,实际上就已经开始生成代码了,但是在source code界面,还是看不到代码,我们通过刷新或者 右键项目-->Maven-->Update Project Configuration

    这样就把生成的代码找到了,具体如下图:


   对应的mapper,xml,model,example都生成好了,是不是很方便啊?

   但是该插件默认不带分页功能,分页插件将在下一次记录。

0 0
原创粉丝点击