利用MyBatis生成器自动生成实体类、DAO接口和Mapping映射文件

解决问题:

可利用MyBatis生成器自动生成实体类、DAO接口和Mapping映射文件。

测试环境准备:

新建一个mysql数据库,例如mungerzTest。

生成一张主键为自增ID的学生表:

CREATE TABLE `student` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar2(32) DEFAULT NULL,
  `age` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

 

1. 生成工具准备

可以在Maven仓库中下载jar包,也可以在这里下载:http://u.163.com/vxeB85EN  提取码: gy6VafDg。

2. 修改配置文件。修改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="mysql-connector-java-5.0.4.jar"/>  
    <context id="DB2Tables"  targetRuntime="MyBatis3">  
        <commentGenerator>  
            <property name="suppressDate" value="true"/>  
            <!-- 是否去除自动生成的注释 true:是 : false:否 -->  
            <property name="suppressAllComments" value="true"/>  
        </commentGenerator>  
        <!--数据库链接URL,用户名、密码 -->  
        <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://192.168.43.167/mungerTest01" userId="root" password="Munger_123">  
        </jdbcConnection>  
        <javaTypeResolver>  
            <property name="forceBigDecimals" value="false"/>  
        </javaTypeResolver>  
        <!-- 生成模型的包名和位置-->  
        <javaModelGenerator targetPackage="com.mungerz.domain" targetProject="src">  
            <property name="enableSubPackages" value="true"/>  
            <property name="trimStrings" value="true"/>  
        </javaModelGenerator>  
        <!-- 生成映射文件的包名和位置-->  
        <sqlMapGenerator targetPackage="com.mungerz.mapping" targetProject="src">  
            <property name="enableSubPackages" value="true"/>  
        </sqlMapGenerator>  
        <!-- 生成DAO的包名和位置-->  
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.mungerz.dao" targetProject="src">  
            <property name="enableSubPackages" value="true"/>  
        </javaClientGenerator>  
        <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名-->  
        <table tableName="student" domainObjectName="Student" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
    </context>  
</generatorConfiguration>

注意:配置文件中的targetPackage属性,必须和项目中的包名一一对应,不然,运行时会出错。需要手动改生成的配置文件。如果数据库里面的表很多,这将是灾难

 

3.运行

在文件目录中新创建一个文件src,对应配置文件中的targetProject属性。

在命令行中,执行:

java -jar mybatis-generator-core-1.3.5.jar -configfile generatorConfig.xml -overwrite

提示成功,就会在src生成实体类、DAO接口和Mapping映射文件。

 

posted @ 2019-02-21 13:16  mungerz  阅读(2625)  评论(0编辑  收藏  举报