1、下载Generator工具
目前mybatis项目已由GoogleCode改为GitHub代码托管,到下面地址可以下载最新的mybatis-generator
https://github.com/mybatis/generator/releases
2、配置generator.xml
将下载好的zip解压到本地,可以看到里面包含了lib和docs,把lib下的mybatis-generator-core-1.3.2.jar包拷贝到一个没有中文路径的目录下,例如D:\mybatis-generator
generator.xml是配置自动生成代码所需的XML配置文件,具体规则可以在解压好的docs目录下查看,这里给出一个简单的示例(修改其中有注释的地方即可)
<?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="D:\generator\mysql-connector-java-5.1.22-bin.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/test" userId="root" password="">
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- 生成模型的包名和位置 -->
<javaModelGenerator targetPackage="org.test.model" targetProject="D:\generator\src">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- 生成的映射文件包名和位置 -->
<sqlMapGenerator targetPackage="org.test.mapping" targetProject="D:\generator\src">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!-- 生成DAO的包名和位置 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="org.test.dao" targetProject="D:\generator\src">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- 要生成那些表(更改tableName和domainObjectName就可以) -->
<table tableName="user" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />
<table tableName="role" domainObjectName="Role" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />
<!-- 其它表格 -->
</context>
</generatorConfiguration>
当然根据不同数据库,还需要一个对应的数据库驱动jar包,这里是mysql数据库,对应的jar为mysql-connector-java-5.1.22-bin.jar ,同样放到D:\mybatis-generator目录下。
最后再在该目录下新建一个名为src的空文件夹即可,里面存放的就是生成的dao层、 model层 和 mapping映射文件。
最终目录结构如下:
3、生成代码
在cmd命令提示符中切换到D:\generator目录下,或者在D:\generator目录下按住shift再点击右键即可在此处打开命令窗口,输入以下命令:
java -jar mybatis-generator-core-1.3.2.jar -configfile generator.xml -overwrite
出现如下图所示即表示成功。
这时进入src文件可以看到生成好的代码
至此所有步骤就结束了。
自动生成的dao只有最基本的增、删、改、查功能,实际项目中需要自己手动添加方法。
public interface UserMapper {
int deleteByPrimaryKey(String id);
int insert(User record);
int insertSelective(User record);
User selectByPrimaryKey(String id);
int updateByPrimaryKeySelective(User record);
int updateByPrimaryKey(User record);
}