美文网首页Java基础
MyBatis生成器自动生成Entity+Dao+Mapping

MyBatis生成器自动生成Entity+Dao+Mapping

作者: 莫问以 | 来源:发表于2018-10-22 15:16 被阅读24次

    MyBatis属于一种半自动的ORM框架,它需要程序员自己编写sql语句和映射文件,但是编写映射文件和sql语句很容易出错,所以mybatis官方提供了Generator生成器,自动生成Entity+Dao+Mapping。

    该生成器是根据单表自动生成mybatis执行所需要的代码。因此,首先创建数据库表:

    DROP TABLE IF EXISTS `t_letou`;
    CREATE TABLE `t_letou` (
      `le_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
      `le_qihao` varchar(10) NOT NULL COMMENT '期号',
      `hong_one` varchar(10) NOT NULL COMMENT '红球1',
      `hong_two` varchar(10) NOT NULL COMMENT '红球2',
      `hong_three` varchar(10) NOT NULL COMMENT '红球3',
      `hong_four` varchar(10) NOT NULL COMMENT '红球4',
      `hong_five` varchar(10) NOT NULL COMMENT '红球5',
      `lan_one` varchar(10) NOT NULL COMMENT '蓝球1',
      `lan_two` varchar(10) NOT NULL COMMENT '蓝球2',
      PRIMARY KEY (`le_id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
    
    DROP TABLE IF EXISTS `t_seqiu`;
    CREATE TABLE `t_seqiu` (
      `se_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
      `se_qihao` varchar(10) NOT NULL COMMENT '期号',
      `hong_one` varchar(10) NOT NULL COMMENT '红球1',
      `hong_two` varchar(10) NOT NULL COMMENT '红球2',
      `hong_three` varchar(10) NOT NULL COMMENT '红球3',
      `hong_four` varchar(10) NOT NULL COMMENT '红球4',
      `hong_five` varchar(10) NOT NULL COMMENT '红球5',
      `hong_six` varchar(10) NOT NULL COMMENT '红球6',
      `lan_one` varchar(10) NOT NULL COMMENT '蓝球1',
      PRIMARY KEY (`se_id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
    

    代码自动生成器下载地址:
    https://download.csdn.net/download/u012909091/7206091
    解压代码生成器,打开它的lib目录,如下所示:

    解压示意.png
    打开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.1.25-bin.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://localhost:3306/qiuqiu_db" userId="root" password="root">  
            </jdbcConnection>  
            <javaTypeResolver>  
                <property name="forceBigDecimals" value="false"/>  
            </javaTypeResolver>  
            <!-- 生成模型的包名和位置-->  
            <javaModelGenerator targetPackage="com.guxf.demo.domain" targetProject="src">  
                <property name="enableSubPackages" value="true"/>  
                <property name="trimStrings" value="true"/>  
            </javaModelGenerator>  
            <!-- 生成映射文件的包名和位置-->  
            <sqlMapGenerator targetPackage="com.guxf.demo.mapper" targetProject="src">  
                <property name="enableSubPackages" value="true"/>  
            </sqlMapGenerator>  
            <!-- 生成DAO的包名和位置-->  
            <javaClientGenerator type="XMLMAPPER" targetPackage="com.guxf.demo.dao" targetProject="src">  
                <property name="enableSubPackages" value="true"/>  
            </javaClientGenerator>  
            <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名-->  
            <table tableName="t_seqiu" domainObjectName="SeQiu" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
        </context>  
    </generatorConfiguration>  
    

    然后启动命令,即进入该lib目录下,执行命令:

    java -jar mybatis-generator-core-1.3.2.jar -configfile generatorConfig.xml -overwrite
    
    执行命令示意.png

    需要生成什么,修改配置,执行命令即可,生成以后,打开src目录:


    生成示意.png

    相关文章

      网友评论

        本文标题:MyBatis生成器自动生成Entity+Dao+Mapping

        本文链接:https://www.haomeiwen.com/subject/rrrgzftx.html