Mybatis-generator 由Mybatis提供的一个根据数据库表自动生成mapper.java(dao)、mapper.xml、javabean(pojo)的工具,一般有3种使用方式:1.使用命令行;2.使用java工程;3.使用ide插件。
因为第三种方式需和ide配合使用,不具备通用性,所以建议学习使用前两种方式。以下是第一种,使用命令行的方式来使用Mybatis-generator工具:
一、环境配置:
1.需要准备以下两样东西:
- Mysql连接驱动
- Mybatis-generator
这里不能上传文件,所以大家可以去自行搜索下载。
Mybatis-generator下载下来的压缩包,解压lib文件夹中的核心jar包备用:
2.数据库:
SQL创建语句:
/*
SQLyog Ultimate v8.32
MySQL - 5.5.36 : Database - mybatis
*********************************************************************
*/
/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
/*Table structure for table `users` */
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`NAME` varchar(20) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
3.创建生成文件存放位置:
例如我在E盘下,建立了一个文件夹:generator,其中包含一个src文件夹,用来存放生成的文件。还包含了Mybatis-generator的核心包和一个mysql的连接驱动包以及最重要的Mybatis-generator的配置文件generator.xml。文件夹名和存放位置都可以随意更改,只需要修改generator.xml中指定的位置就行了,但是为了方便建议文件结构如下设置:
二、generator.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:\generator\mysql-connector-java-5.0.5-bin.jar" />
<!-- <classPathEntry location="C:\oracle\product\10.2.0\db_1\jdbc\lib\ojdbc14.jar" />-->
<context id="DB2Tables" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressAllComments" value="true" />
</commentGenerator>
<!-- 数据库链接URL、用户名、密码 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf8" userId="root" password="123">
<!--<jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver" connectionURL="jdbc:oracle:thin:@localhost:1521:orcl" userId="msa" password="msa">-->
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- 生成model的包名和位置 -->
<javaModelGenerator targetPackage="test.model" targetProject="E:\generator\src">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- 如使用spring的自动扫描mapper映射文件,可将mapper.xml和mapper.java放在同一个包下,如果使用springboot建议分开存放 -->
<!-- 生成的mapper.xml包名和位置 -->
<sqlMapGenerator targetPackage="test.mapper" targetProject="E:\generator\src">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!-- 生成mapper.java的包名和位置 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="test.mapper" targetProject="E:\generator\src">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- 要生成那些表,更改tableName(表名)和domainObjectName(生成的model名)就可以了 -->
<table tableName="users" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />
</context>
</generatorConfiguration>
三、生成文件:
1.进入命令行控制台,输入e:——>回车——>cd generator——>回车 进入之前创建的E盘下的generator文件夹:
2.输入命令:java -jar mybatis-generator-core-1.3.3.jar -configfile generator.xml -overwrite,执行程序:
3.执行成功
src文件夹下就可以看到生成的文件了,将生成的文件拷贝到项目中,就可以使用了。