mybatis是一个基于Java的持久层框架,用起来很少方便。但当业务复杂多变,涉及的表越来越多,一张表的字段上百的时候就头疼了。mybatis有对应的自动生成器:mybatis-generator插件。它可以自动生成xmlmapper和model还有dao接口,这样我们就可以把精力放在业务代码上,而不需要关心数据库的具体操作。Mybatis-generator有三种用法:命令行、eclipse插件、maven插件,这次我们说的是命令行的方法。如下图文件:
这里面重要的东西就是generator.xml这个配置文件,标有注释的都是需要修改成自己的项目。src这个目录下放的就是自动生成的mapper、dao、model。温馨提示:这个目录不要有中文,否则容易乱码出错。最下边修改成自己的表名就可以啦。
<?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:\software\lib\mysql-connector-java-5.1.21.jar" /> -->
<classPathEntry location="D:\SoftWare\jar\mysql-connector-java-5.1.18-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/mq_jdb" userId="root" password="123456">
<!--<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>
<!-- 生成模型的包名和位置 -->
<javaModelGenerator targetPackage="mq_jdb.model" targetProject="F:\JavaDemo\generator\src">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- 生成的映射文件包名和位置 -->
<sqlMapGenerator targetPackage="mq_jdb.mapping" targetProject="F:\JavaDemo\generator\src">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!-- 生成DAO的包名和位置 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="mq_jdb.dao" targetProject="F:\JavaDemo\generator\src">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- 要生成那些表(更改tableName和domainObjectName就可以) -->
<table tableName="t_managecontrolsconf" domainObjectName="ManageControlsConf" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />
<table tableName="t_pushmsgconf" domainObjectName="PushMsgConf" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />
<table tableName="t_recvmsgconf" domainObjectName="RecvMsgConf" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />
</context>
</generatorConfiguration>
然后在上图当前的目录下按住shift键右击,“在此处打开命令窗口”,输入生成语句中的cmd命令行。如果成功的话,如下图所示: