MyBatis生成器自動(dòng)生成Entity+Dao+Mapping

MyBatis屬于一種半自動(dòng)的ORM框架,它需要程序員自己編寫(xiě)sql語(yǔ)句和映射文件,但是編寫(xiě)映射文件和sql語(yǔ)句很容易出錯(cuò),所以mybatis官方提供了Generator生成器,自動(dòng)生成Entity+Dao+Mapping。

該生成器是根據(jù)單表自動(dòng)生成mybatis執(zhí)行所需要的代碼。因此,首先創(chuàng)建數(shù)據(jù)庫(kù)表:

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 '期號(hào)',
  `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 '藍(lán)球1',
  `lan_two` varchar(10) NOT NULL COMMENT '藍(lán)球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 '期號(hào)',
  `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 '藍(lán)球1',
  PRIMARY KEY (`se_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

代碼自動(dòng)生成器下載地址:
https://download.csdn.net/download/u012909091/7206091
解壓代碼生成器,打開(kāi)它的lib目錄,如下所示:

解壓示意.png

打開(kāi)generatorConfig.xml文件,修改相關(guān)注釋處配置:

<?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>  
<!-- 數(shù)據(jù)庫(kù)驅(qū)動(dòng)-->  
    <classPathEntry  location="mysql-connector-java-5.1.25-bin.jar"/>  
    <context id="DB2Tables"  targetRuntime="MyBatis3">  
        <commentGenerator>  
            <property name="suppressDate" value="true"/>  
            <!-- 是否去除自動(dòng)生成的注釋 true:是 : false:否 -->  
            <property name="suppressAllComments" value="true"/>  
        </commentGenerator>  
        <!--數(shù)據(jù)庫(kù)鏈接URL,用戶(hù)名、密碼 -->  
        <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是數(shù)據(jù)庫(kù)中的表名或視圖名 domainObjectName是實(shí)體類(lèi)名-->  
        <table tableName="t_seqiu" domainObjectName="SeQiu" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
    </context>  
</generatorConfiguration>  

然后啟動(dòng)命令,即進(jìn)入該lib目錄下,執(zhí)行命令:

java -jar mybatis-generator-core-1.3.2.jar -configfile generatorConfig.xml -overwrite
執(zhí)行命令示意.png

需要生成什么,修改配置,執(zhí)行命令即可,生成以后,打開(kāi)src目錄:


生成示意.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容