zoukankan      html  css  js  c++  java
  • mybatis自己主动生成mapper,dao,映射文件

    一.先创建数据脚本,这里用的mysql数据脚本

    drop table VOTE_ITEM; 
    drop table VOTE_OPTION; 
    drop table VOTE_SUBJECT; 
    drop table VOTE_USER; 
     
     
    create table VOTE_USER 
    ( 
      VU_USER_ID   int(8) primary key,  
      VU_USER_NAME VARCHAR(20) not null,  
      VU_PASSWORD  VARCHAR(20) not null,  
      VU_STATUS    int(6) not null,  
      VU_VERSION   int(8) not null  
    ); 
       
    create table VOTE_SUBJECT 
    ( 
      VS_ID    int(8) primary key, 
      VS_TITLE VARCHAR(200) not null, 
      VS_TYPE  int(6) not null 
    ); 
     
    create table VOTE_OPTION 
    ( 
      VO_ID     int(8) primary key, 
       VS_ID     int(8) not null, 
      VO_OPTION VARCHAR(200) not null, 
      VO_ORDER  int(8) not null 
    ); 
     
    create table VOTE_ITEM 
    ( 
      VI_ID      int(8) primary key, 
      VS_ID      int(8) not null, 
      VO_ID      int(8) not null, 
      VU_USER_ID int(8) not null 
    ); 
     
    insert into VOTE_USER (VU_USER_ID, VU_USER_NAME, VU_PASSWORD, VU_STATUS, VU_VERSION) 
    values (1001, 'ss', 'a', 1, 1); 
    insert into VOTE_USER (VU_USER_ID, VU_USER_NAME, VU_PASSWORD, VU_STATUS, VU_VERSION) 
    values (1002, 'admin', 'a', 2, 1); 
    insert into VOTE_USER (VU_USER_ID, VU_USER_NAME, VU_PASSWORD, VU_STATUS, VU_VERSION) 
    values (1003, 'zy', 'a', 1, 0); 
    insert into VOTE_USER (VU_USER_ID, VU_USER_NAME, VU_PASSWORD, VU_STATUS, VU_VERSION) 
    values (1004, 'yc', 'a', 2, 0); 
    insert into VOTE_USER (VU_USER_ID, VU_USER_NAME, VU_PASSWORD, VU_STATUS, VU_VERSION) 
    values (1005, 'yc1', 'a', 2, 1); 
    insert into VOTE_USER (VU_USER_ID, VU_USER_NAME, VU_PASSWORD, VU_STATUS, VU_VERSION) 
    values (1006, 'yc2', 'a', 2, 1); 
    insert into VOTE_USER (VU_USER_ID, VU_USER_NAME, VU_PASSWORD, VU_STATUS, VU_VERSION) 
    values (1007, 'yc3', 'a', 2, 1); 
    insert into VOTE_USER (VU_USER_ID, VU_USER_NAME, VU_PASSWORD, VU_STATUS, VU_VERSION) 
    values (1008, 'yc4', 'a', 2, 1); 
    insert into VOTE_USER (VU_USER_ID, VU_USER_NAME, VU_PASSWORD, VU_STATUS, VU_VERSION) 
    values (1009, 'yc5', 'a', 2, 1); 
    insert into VOTE_USER (VU_USER_ID, VU_USER_NAME, VU_PASSWORD, VU_STATUS, VU_VERSION) 
    values (1010, 'yc6', 'a', 1, 0); 
     
    insert into VOTE_SUBJECT (VS_ID, VS_TITLE, VS_TYPE) 
    values (103, '选出你心目中最好的下载工具', 2); 
    insert into VOTE_SUBJECT (VS_ID, VS_TITLE, VS_TYPE) 
    values (104, '选出你心目中最好的输入法', 1); 
    insert into VOTE_SUBJECT (VS_ID, VS_TITLE, VS_TYPE) 
    values (105, '选出你心目中最好的网络聊天工具', 1); 
    insert into VOTE_SUBJECT (VS_ID, VS_TITLE, VS_TYPE) 
    values (440, '你最想区的地方', 1); 
    insert into VOTE_SUBJECT (VS_ID, VS_TITLE, VS_TYPE) 
    values (101, '选出你心目中最好的浏览器', 1); 
    insert into VOTE_SUBJECT (VS_ID, VS_TITLE, VS_TYPE) 
    values (102, '选出你心目中最好的杀毒软件', 1); 
     
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (397, '腾讯QQ', 105, 1); 
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (398, 'MSN', 105, 2); 
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (380, '迅雷', 103, 1); 
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (399, '新浪UC', 105, 3); 
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (400, '飞信', 105, 4); 
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (401, 'Skype', 105, 5); 
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (402, '阿里旺旺', 105, 6); 
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (403, '百度HI', 105, 7); 
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (404, '微软IE浏览器', 101, 1); 
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (405, '火狐(Firefox)浏览器', 101, 2); 
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (381, '网际快车', 103, 2); 
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (382, '电驴', 103, 3); 
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (383, '比特精灵', 103, 4); 
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (384, '超级旋风', 103, 5); 
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (385, '搜狗拼音', 104, 1); 
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (386, '搜狗五笔', 104, 2); 
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (387, 'QQ拼音', 104, 3); 
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (388, 'QQ五笔', 104, 4); 
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (389, '谷歌拼音', 104, 5); 
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (390, '紫光拼音', 104, 6); 
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (391, '智能ABC', 104, 7); 
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (392, '微软拼音', 104, 8); 
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (393, '万能拼音', 104, 9); 
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (394, '万能五笔', 104, 10); 
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (395, '极品拼音', 104, 11); 
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (396, '极品五笔', 104, 12); 
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (406, '世界之窗浏览器', 101, 3); 
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (407, '360浏览器', 101, 4); 
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (408, '傲游浏览器', 101, 5); 
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (409, '谷歌(Chrome)浏览器', 101, 6); 
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (410, '卡巴斯基', 102, 1); 
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (411, '360杀毒', 102, 2); 
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (412, 'McAfee', 102, 3); 
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (413, 'AVG', 102, 4); 
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (414, '诺顿杀毒', 102, 5); 
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (415, '瑞星杀毒', 102, 6); 
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (416, '金山毒霸', 102, 7); 
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (417, '江民杀毒', 102, 8); 
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (418, '微点防御', 102, 9); 
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (419, '趋势杀毒', 102, 10); 
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (441, '地域', 440, 1); 
    insert into VOTE_OPTION (VO_ID, VO_OPTION, VS_ID, VO_ORDER) 
    values (442, '天堂', 440, 2); 
     
    insert into VOTE_ITEM (VI_ID, VO_ID, VS_ID, VU_USER_ID) 
    values (422, 405, 101, 1005); 
    insert into VOTE_ITEM (VI_ID, VO_ID, VS_ID, VU_USER_ID) 
    values (423, 405, 101, 1006); 
    insert into VOTE_ITEM (VI_ID, VO_ID, VS_ID, VU_USER_ID) 
    values (424, 404, 101, 1007); 
    insert into VOTE_ITEM (VI_ID, VO_ID, VS_ID, VU_USER_ID) 
    values (425, 407, 101, 1008); 
    insert into VOTE_ITEM (VI_ID, VO_ID, VS_ID, VU_USER_ID) 
    values (426, 408, 101, 1009); 
    insert into VOTE_ITEM (VI_ID, VO_ID, VS_ID, VU_USER_ID) 
    values (427, 409, 101, 1004); 
    insert into VOTE_ITEM (VI_ID, VO_ID, VS_ID, VU_USER_ID) 
    values (445, 404, 101, 1003); 
    insert into VOTE_ITEM (VI_ID, VO_ID, VS_ID, VU_USER_ID) 
    values (367, 136, 135, 1002); 
    insert into VOTE_ITEM (VI_ID, VO_ID, VS_ID, VU_USER_ID) 
    values (420, 405, 101, 1002); 
    insert into VOTE_ITEM (VI_ID, VO_ID, VS_ID, VU_USER_ID) 
    values (421, 406, 101, 1001); 
     
    commit; 
     
    select * from VOTE_USER; 
    select * from VOTE_SUBJECT; 
    select * from VOTE_OPTION; 
    select * from VOTE_ITEM; 
    

    Linux下操作命令:

    create database vote  character set utf8;
    use vote;
    source 全路径下的脚本文件地址

    generator.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="/home/a/workspace/MavenRepository/mysql/mysql-connector-java/5.1.36/mysql-connector-java-5.1.36.jar" />   -->     <classPathEntry location="/home/a/workspace/MavenRepository/mysql/mysql-connector-java/5.1.36/mysql-connector-java-5.1.36.jar" />     <context id="DB2Tables" targetRuntime="MyBatis3">         <commentGenerator>             <property name="suppressAllComments" value="true" />         </commentGenerator>         <!-- 数据库链接URL、username、password -->         <!-- <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/sy" userId="sypro" password="sypro"> -->         <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/vote" userId="root" password="a">            </jdbcConnection>         <javaTypeResolver>             <property name="forceBigDecimals" value="false" />         </javaTypeResolver>         <!-- 生成模型的包名和位置 -->         <javaModelGenerator targetPackage="com.yc.vote.entity" targetProject="/usr/local/mybatisutil/src">             <property name="enableSubPackages" value="true" />             <property name="trimStrings" value="true" />         </javaModelGenerator>         <!-- 生成的映射文件包名和位置 -->         <sqlMapGenerator targetPackage="mapper" targetProject="/usr/local/mybatisutil/src">             <property name="enableSubPackages" value="true" />         </sqlMapGenerator>         <!-- 生成DAO的包名和位置 -->         <javaClientGenerator type="XMLMAPPER" targetPackage="com.yc.vote.mapper" targetProject="/usr/local/mybatisutil/src">             <property name="enableSubPackages" value="true" />         </javaClientGenerator>         <!-- 要生成那些表(更改tableName和domainObjectName就能够) -->         <table tableName="VOTE_ITEM" domainObjectName="Item" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />         <table tableName="VOTE_OPTION" domainObjectName="Option" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />         <table tableName="VOTE_SUBJECT" domainObjectName="Subject" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />         <table tableName="VOTE_USER" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />              </context> </generatorConfiguration>


    要改动的地方,驱动包的路径,mysql包的路径。链接数据库的配置。生成包的路径,还所最后凝视上说的

    <!-- 要生成那些表(更改tableName和domainObjectName就能够) -->
    最后写个执行脚本,window下创建bat后缀文件,Linub下创建sh后缀文件

    @echo '開始'
    
    java -jar mybatis-generator-core-1.3.2.jar -configfile generator.xml -overwrite
    
    @echo '结束'
    @pause


    上面的认为麻烦就直接输入中间那一行代码就能够跑起来了
  • 相关阅读:
    使用Lua编写Wireshark插件解析KCP UDP包,解析视频RTP包
    开源自己用python封装的一个Windows GUI(UI Automation)自动化工具,支持MFC,Windows Forms,WPF,Metro,Qt
    2019 WebRtc AudioMixer混音流程
    记录一次定位视频通话 音视频卡顿的原因分析过程。
    C++标准库里自带的数值类型和字符串互相转换函数
    C++ raw string literal
    使用multiprocessing解决PyMuPDF不支持多线程加载导致的界面卡死无响应问题,及一个PyQt5实现的简易PDF阅读器例子
    使用ctypes调用系统C API函数需要注意的问题,函数参数中有指针或结构体的情况下最好不要修改argtypes
    使用python uiautomation从钉钉网页版提取公司所有联系人信息
    使用python UIAutomation从QQ2017(v8.9)群界面获取所有群成员详细资料,
  • 原文地址:https://www.cnblogs.com/blfbuaa/p/7000750.html
Copyright © 2011-2022 走看看