admin 管理员组

文章数量: 887021

mybatis自动生成mapper,dao,映射文件

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

[java]  view plain copy
  1. drop table FILMINFO;  
  2. drop table FILMTYPE;  
  3.   
  4. create table FILMINFO  
  5. (  
  6.   FILMID      int primary key  auto_increment,  
  7.   FILMNAME    VARCHAR(50) not null,  
  8.   TYPEID      int not null,  
  9.   ACTOR       VARCHAR(255),  
  10.   DIRECTOR    VARCHAR(50),  
  11.   TICKETPRICE int not null  
  12. );  
  13.   
  14. alter table FILMINFO auto_increment = 10001;  
  15.   
  16. create table FILMTYPE  
  17. (  
  18.   TYPEID  int primary key auto_increment,  
  19.   TYPENAME VARCHAR(20)  
  20. );  
  21.   
  22. alter table FILMTYPE auto_increment = 100001;  
  23.   
  24. insert into FILMTYPE(TYPENAME) values('爱情片');  
  25. insert into FILMTYPE(TYPENAME) values('动作片');  
  26. insert into FILMTYPE(TYPENAME) values('喜剧片');  
  27. insert into FILMTYPE(TYPENAME) values('战争片');  
  28. insert into FILMTYPE(TYPENAME) values('科幻片');  
  29. insert into FILMTYPE(TYPENAME) values('恐怖片');  
  30. insert into FILMTYPE(TYPENAME) values('动画片');  
  31. insert into FILMTYPE(TYPENAME) values('其它片');  
  32.   
  33. insert into FILMINFO(FILMNAME,TYPEID,ACTOR,DIRECTOR,TICKETPRICE) values('阿凡达', 10005, '萨姆·沃辛顿,佐伊·索尔达娜,西格妮·韦弗,乔·摩尔,拉兹·阿隆索,乔瓦尼·瑞比西', '詹姆斯·卡梅隆', 150);  
  34. insert into FILMINFO(FILMNAME,TYPEID,ACTOR,DIRECTOR,TICKETPRICE) values('猫和老鼠', 10007, '汤姆,杰瑞', 'William Hanna,Joseph Barbera', 60);  
  35. insert into FILMINFO(FILMNAME,TYPEID,ACTOR,DIRECTOR,TICKETPRICE) values('大兵小将', 10002, '成龙,王力宏,刘承俊,林鹏,徐冬梅,杜玉明', '丁晟', 50);  
  36. insert into FILMINFO(FILMNAME,TYPEID,ACTOR,DIRECTOR,TICKETPRICE) values('大侦探福尔摩斯', 10002, '小罗伯特·唐尼,裘德·洛', '盖·里奇', 100);  
  37. insert into FILMINFO(FILMNAME,TYPEID,ACTOR,DIRECTOR,TICKETPRICE) values('全城热恋', 10001, '谢霆锋,张学友 ,刘若英,徐若瑄,徐熙媛', '夏永康,陈国辉', 80);  
  38. insert into FILMINFO(FILMNAME,TYPEID,ACTOR,DIRECTOR,TICKETPRICE) values('第九区', 10005, '沙尔托·科普雷,詹森·库伯,威廉·艾伦·扬', '尼尔·布洛姆坎普', 100);  
  39. insert into FILMINFO(FILMNAME,TYPEID,ACTOR,DIRECTOR,TICKETPRICE) values('敢死队3', 10002, '西尔维斯特·史泰龙,杰森·斯坦森,梅尔·吉布森,李连杰,阿诺·施瓦辛格,杜夫·龙格尔', '派特里克·休斯', 250);  
  40.   
  41. commit;  
  42.   
  43. select * from FILMTYPE;  
  44. select * from FILMINFO;  

Linux下操作命令:

[plain]  view plain copy
  1. create database cinema  character set utf8;  
  2. use cinema;  
  3. source 全路径下的脚本文件地址  

generator.xml文件


[java]  view plain copy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis//DTD MyBatis Generator Configuration 1.0//EN" ".dtd">  
  3. <generatorConfiguration>  
  4.     <!-- 数据库驱动包位置 -->  
  5.     <!-- <classPathEntry location="D:\software\lib\mysql-connector-java-5.1.21.jar" /> -->  
  6.   
  7.     <classPathEntry location="/home/a/workspace/MavenRepository/mysql/mysql-connector-java/5.1.36/mysql-connector-java-5.1.36.jar" />  
  8.     <context id="DB2Tables" targetRuntime="MyBatis3">  
  9.         <commentGenerator>  
  10.             <property name="suppressAllComments" value="true" />  
  11.         </commentGenerator>  
  12.         <!-- 数据库链接URL、用户名、密码 -->  
  13.         <!-- <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/sy" userId="sypro" password="sypro"> -->  
  14.         <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/cinema" userId="root" password="a">  
  15.         </jdbcConnection>  
  16.         <javaTypeResolver>  
  17.             <property name="forceBigDecimals" value="false" />  
  18.         </javaTypeResolver>  
  19.         <!-- 生成模型的包名和位置 -->  
  20.         <javaModelGenerator targetPackage="sy.model" targetProject="/usr/day01/src">  
  21.             <property name="enableSubPackages" value="true" />  
  22.             <property name="trimStrings" value="true" />  
  23.         </javaModelGenerator>  
  24.         <!-- 生成的映射文件包名和位置 -->  
  25.         <sqlMapGenerator targetPackage="sy.mapping" targetProject="/usr/day01/src">  
  26.             <property name="enableSubPackages" value="true" />  
  27.         </sqlMapGenerator>  
  28.         <!-- 生成DAO的包名和位置 -->  
  29.         <javaClientGenerator type="XMLMAPPER" targetPackage="sy.dao" targetProject="/usr/day01/src">  
  30.             <property name="enableSubPackages" value="true" />  
  31.         </javaClientGenerator>  
  32.         <!-- 要生成那些表(更改tableName和domainObjectName就可以) -->  
  33.         <table tableName="FILMINFO" domainObjectName="FilmInfo" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />  
  34.         <table tableName="FILMTYPE" domainObjectName="FilmType" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />  
  35.           
  36.     </context>  
  37. </generatorConfiguration>  

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

[java]  view plain copy
  1. <!-- 要生成那些表(更改tableName和domainObjectName就可以) -->  
最后写个运行脚本,window下创建bat后缀文件,Linub下创建sh后缀文件

[java]  view plain copy
  1. @echo '开始'  
  2.   
  3. java -jar mybatis-generator-core-1.3.2.jar -configfile generator.xml -overwrite  
  4.   
  5. @echo '结束'  
  6. @pause  

本文标签: mybatis自动生成mapper Dao 映射文件