我们知道在使用Mybatis的时候需要写大量的xml文件来操作数据库,现在给大家介绍一个比较实用的插件,它可以自动生成DAO,Mapper以及Module。
它就是Mybatis Generator,Mybatis Generator的安装方式一般有两种,Eclipse插件和maven插件的形式。
Eclipse插件的安装比较简单,可以从https://github.com/mybatis/generator.git下载安装插件。
解压下载的压缩文件,然后把里面的plugin和feature拷贝到你的eclipse的安装目录下即可。
但是要注意这个是不是和自己的eclipse版本相兼容,如果不兼容的话就另找一个版本。
下面介绍一下maven插件的安装方法。
首先在pom.xml文件中,其中红色字体的部分是新加的内容。
<build>
<finalName>lanyuan-notebook-3.1v</finalName>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.26</version>
<configuration>
<webAppConfig>
<contextPath>/</contextPath>
</webAppConfig>
<!-- 每3秒的间隔扫描一次,实现热部署 -->
<scanIntervalSeconds>3</scanIntervalSeconds>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<configuration>
<skip>true</skip>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<configurationFile>src/main/resources/mybatis-generator/generatorConfig.xml</configurationFile>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
<executions>
<execution>
<id>Generate MyBatis Artifacts</id>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.2</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</pluginManagement>
</build>
然后在src/main/resources/mybatis-generator/这个目录下新建一个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>
<!-- 数据库驱动-->
<classPathEntry location="E:\Develope\apache-maven-3.3.9\repository\mysql\mysql-connector-java\5.1.26\mysql-connector-java-5.1.26.jar"/>
<context id="Mysql" targetRuntime="MyBatis3" defaultModelType="flat">
<!-- 通用生成器节点 -->
<commentGenerator>
<!-- 是否屏蔽生成注释中的时间 true:是 : false:否 -->
<property name="suppressDate" value="true"/>
<!-- 是否屏蔽生成注释 true:是 : false:否 -->
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!--数据库连接信息节点,包括URL,用户名、密码 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://127.0.0.1/test"
userId="root"
password="root">
</jdbcConnection>
<!-- 类型转换节点 -->
<javaTypeResolver>
<!-- 是否强制DECIMAL和NUMERIC类型的字段转换为Java类型的java.math.BigDecimal -->
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- 模型生成节点,定义了生成模型的包名和位置-->
<javaModelGenerator targetPackage="com.first.entity" targetProject="src\main\java">
<!-- MBG是否会根据catalog和schema来生成子包 -->
<property name="enableSubPackages" value="true"/>
<!-- 是否对数据库查询结果进行trim操作 -->
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- 映射文件生成节点,定义了生成映射文件的包名和位置-->
<sqlMapGenerator targetPackage="com.first.mapping" targetProject="src\main\java">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!-- Mapper接口生成节点,定义了生成Mapper接口的包名和位置-->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.first.mapper" targetProject="src\main\java">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名-->
<!-- domainObjectName生成对象的基本名称。如果没有指定,MBG会自动根据表名来生成名称 -->
<!-- enableXXX:XXX代表多种SQL方法,该属性用来指定是否生成对应的XXX语句 -->
<table tableName="userid"
domainObjectName="User"
enableCountByExample="false"
enableUpdateByExample="false"
enableDeleteByExample="false"
enableSelectByExample="false"
selectByExampleQueryId="false">
</table>
</context>
</generatorConfiguration>
然后在generatorConfig.xml点右键选择Run as然后选择Run Configurations然后如下图所示进行设置,最后点击Run按钮,就可以生成对应的文件了。