我们经常用到mybatis来进行程序代码级别对数据库的操作,然而需要编写大量的表实例类与映射文件,现在使用工具mybatis-generator就可实现上述文件的自动生成,下面简要介绍一下其使用方法。
1.创建工程
为了下载jar包比较方便,本人创建一个名为mybatis的maven工程来应用mybatis-generator.
2.修改pom.xml文件,下载依赖的jar包
1 <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">
2 <modelVersion>4.0.0</modelVersion>
3 <groupId>com.liuwei</groupId>
4 <artifactId>mybatis</artifactId>
5 <version>0.0.1-SNAPSHOT</version>
6 <dependencies>
7 <!-- 添加mybatis的核心包 -->
8 <dependency>
9 <groupId>org.mybatis</groupId>
10 <artifactId>mybatis</artifactId>
11 <version>3.2.8</version>
12 </dependency>
13 <!-- 添加mysql驱动包 -->
14 <dependency>
15 <groupId>mysql</groupId>
16 <artifactId>mysql-connector-java</artifactId>
17 <version>5.1.34</version>
18 </dependency>
19 <!-- 添加junit单元测试包 -->
20 <dependency>
21 <groupId>junit</groupId>
22 <artifactId>junit</artifactId>
23 <version>4.12</version>
24 <scope>test</scope>
25 </dependency>
26 <!-- mybatis配置文件生成工具 -->
27 <dependency>
28 <groupId>org.mybatis.generator</groupId>
29 <artifactId>mybatis-generator-core</artifactId>
30 <version>1.3.2</version>
31 </dependency>
32 </dependencies>
33 </project>
pom.xml
3.编写generator.xml配置文件,放在项目根目录下
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
3 <generatorConfiguration>
4 <!-- 数据库驱动包位置 -->
5 <classPathEntry location="C:\Users\dm1-10473\.m2\repository\mysql\mysql-connector-java\5.1.34\mysql-connector-java-5.1.34.jar" />
6 <context id="DB2Tables" targetRuntime="MyBatis3">
7 <commentGenerator>
8 <property name="suppressAllComments" value="true" />
9 </commentGenerator>
10 <!-- 数据库链接URL、用户名、密码 -->
11 <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/spring_mybatis" userId="root" password="123">
12 </jdbcConnection>
13 <javaTypeResolver>
14 <property name="forceBigDecimals" value="false" />
15 </javaTypeResolver>
16 <!-- 生成实体类的包名和位置,这里配置将生成的实体类放在me.springmybatis.domain这个包下 -->
17 <javaModelGenerator targetPackage="me.mybatis.domain" targetProject="C:\Users\dm1-10473\workspace\mybatis\src\main\java">
18 <property name="enableSubPackages" value="true" />
19 <property name="trimStrings" value="true" />
20 </javaModelGenerator>
21 <!-- 生成的SQL映射文件包名和位置,这里配置将生成的SQL映射文件放在me.springmybatis.mapping这个包下 -->
22 <sqlMapGenerator targetPackage="me.mybatis.mapping" targetProject="C:\Users\dm1-10473\workspace\mybatis\src\main\java">
23 <property name="enableSubPackages" value="true" />
24 </sqlMapGenerator>
25 <!-- 生成DAO的包名和位置,这里配置将生成的dao类放在me.springmybatis.dao这个包下 -->
26 <javaClientGenerator type="XMLMAPPER" targetPackage="me.mybatis.dao" targetProject="C:\Users\dm1-10473\workspace\mybatis\src\main\java">
27 <property name="enableSubPackages" value="true" />
28 </javaClientGenerator>
29 <!-- 要生成那些表(更改tableName和domainObjectName就可以) -->
30 <table tableName="t_user" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />
31 </context>
32 </generatorConfiguration>
generator.xml
4.创建数据库和表
1 Create DATABASE spring_mybatis;
2 USE spring_mybatis;
3
4 DROP TABLE IF EXISTS t_user;
5 CREATE TABLE t_user (
6 user_id char(32) NOT NULL,
7 user_name varchar(30) DEFAULT NULL,
8 user_birthday date DEFAULT NULL,
9 user_salary double DEFAULT NULL,
10 PRIMARY KEY (user_id)
11 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
SQL
5.执行生成命令
java -jar C:\Users\dm1-10473\.m2\repository\org\mybatis\generator\mybatis-generator-core\1.3.2\mybatis-generator-core-1.3.2.jar -configfile generator.xml -overwrite
具体可以根据jar包所在路径修改命令 ,本人写了一个bat脚本来执行
6.执行完毕后自动生成了相关文件
这样就解决了大量的重复性工作。
7.在Maven组织工程中应用mybatis-generator方法
Maven组织的工程中应用mybatis-generator自动生成数据库表对应的实体类与映射文件,方式与上述类似,仅需要引入另外一个插件mybatis-generator-maven-plugin,使得maven能够对生成过程加以控制。
首先,在pom.xml文件中添加上述maven插件
<build>
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<!-- 允许移动生成的文件 -->
<verbose>true</verbose>
<!-- 允许覆盖生成的文件 -->
<overwrite>true</overwrite>
</configuration>
</plugin>
</plugins>
</build>
第二步,将我们的生成配置文件generator.xml放置于工程资源文件路径之下,/src/main/resources(默认目录),注意将文件名修改为generatorConfig.xml(生成插件默认识别的配置文件名称)。
第三步,工程->maven build -> 弹出对话框 ->goals中填写mybatis-generator:generate -> apply -> run 就可生成我们所需的文件。