你的位置:首页 > Java教程

[Java教程]mybatis入门基础(九)


一、什么是逆向工程  

      mybaits需要程序员自己编写sql语句,mybatis官方提供逆向工程 可以针对单表自动生成mybatis执行所需要的代码(mapper.java,mapper.、po..)

      实际开发中,常用的逆向工程方式:由数据库的表生成java代码。

二、下载逆向工程

  去官网下载逆向工程,截至今天最新版本是1.3.3.    官方逆向工程文档

     我所用的是1.3.2版本的,下载地址: mybatis_generator所用jar包.zip

                                                 mybatis学习资料(中英文文档,参数常见配置等).rar

三、使用方法

1.生成代码配置文件

 generatorConfig.

 1 <??> 2 <!DOCTYPE generatorConfiguration 3  PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" 4  "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> 5  6 <generatorConfiguration> 7   <context id="testTables" targetRuntime="MyBatis3"> 8     <commentGenerator> 9       <!-- 是否去除自动生成的注释 true:是 : false:否 -->10       <property name="suppressAllComments" value="true" />11     </commentGenerator>12     <!--数据库连接的信息:驱动类、连接地址、用户名、密码,这里配置的是mysql的,当然也可以配置oracle等数据库 -->13     <jdbcConnection driverClass="com.mysql.jdbc.Driver"14       connectionURL="jdbc:mysql://localhost:3306/mybatis" userId="root"15       password="root">16     </jdbcConnection>17 18     <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 19       和 NUMERIC 类型解析为java.math.BigDecimal -->20     <javaTypeResolver>21       <property name="forceBigDecimals" value="false" />22     </javaTypeResolver>23 24     <!-- targetProject:生成PO类的位置 -->25     <javaModelGenerator targetPackage="com.mybatis.entity"26       targetProject=".\src">27       <!-- enableSubPackages:是否让schema作为包的后缀 -->28       <property name="enableSubPackages" value="false" />29       <!-- 从数据库返回的值被清理前后的空格 -->30       <property name="trimStrings" value="true" />31     </javaModelGenerator>32     <!-- targetProject:mapper映射文件生成的位置 -->33     <sqlMapGenerator targetPackage="com.mybatis.mapper"34       targetProject=".\src">35       <!-- enableSubPackages:是否让schema作为包的后缀 -->36       <property name="enableSubPackages" value="false" />37     </sqlMapGenerator>38     <!-- targetPackage:mapper接口生成的位置 -->39     <javaClientGenerator type="40       targetPackage="com.mybatis.mapper" targetProject=".\src">41       <!-- enableSubPackages:是否让schema作为包的后缀 -->42       <property name="enableSubPackages" value="false" />43     </javaClientGenerator>44     <!-- 指定数据库表 -->45     <table tableName="items"></table>46     <table tableName="orders"></table>47     <table tableName="orderdetail"></table>48     <table tableName="t_user"></table>49   </context>50 </generatorConfiguration>

2.执行生成程序

GeneratorSqlmap.java的代码:

 1 import java.io.File; 2 import java.util.ArrayList; 3 import java.util.List; 4  5 import org.mybatis.generator.api.MyBatisGenerator; 6 import org.mybatis.generator.config.Configuration; 7 import org.mybatis.generator.config. 8 import org.mybatis.generator.internal.DefaultShellCallback; 9 10 public class GeneratorSqlmap {11 12   public void generator() throws Exception{13 14     List<String> warnings = new ArrayList<String>();15     boolean overwrite = true;16     //指定 逆向工程配置文件17     File configFile = new File("generatorConfig.); 18     ConfigurationParser cp = new ConfigurationParser(warnings);19     Configuration config = cp.parseConfiguration(configFile);20     DefaultShellCallback callback = new DefaultShellCallback(overwrite);21     MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,22         callback, warnings);23     myBatisGenerator.generate(null);24 25   } 26   public static void main(String[] args) throws Exception {27     try {28       GeneratorSqlmap generatorSqlmap = new GeneratorSqlmap();29       generatorSqlmap.generator();30     } catch (Exception e) {31       e.printStackTrace();32     }33     34   }35 36 }

上面这段代码在官方文档中的代码,里面支持好多语言的,大家可以去官方看看。下面这张图是从官方截取的

配置好后,直接运行代码就会在配置的对应目录生成对应的实体和mapper以及mapper.

执行完毕后,刷新项目,就可以看到生成的对应文件。

3.逆向工程注意事项

  mapper.

  解决办法:删除原来的已经生成的mapper.

  mybais自动生成的实体entity以及mapper.java文件不是内容追加而是直接覆盖没有问题。 

4.工程目录




湖北旅游地图线路大全深圳去湖南旅游报价跟团去湖南旅游多少钱几月去湖南旅游最好去湖南的旅游团价格韶关丹霞山2015五一好玩吗?2015五一仁化丹霞山有哪些好玩的? 广州到丹霞山坐火车方便吗?广州到韶关丹霞山几点发车? 广州到丹霞山在哪坐车?广州到韶关丹霞山坐什么车方便? 韶关火车站到丹霞山怎么坐车?韶关火车站到仁化丹霞山坐几路车? 东莞粤晖园要门票么?东莞粤晖园拓展基地另收费吗? 去这些全球色彩之地,找属于自己的颜色![六] 奇特的菲律宾瀑布餐厅 用餐请脱鞋 (图)[一十十] 新年首日 近5000名游客欢乐谷里喜迎中国年 阿城旅游节庆和旅游贴士分享 阿城游娱购最全攻略(组图) 吃住行游娱购 金源阿城特色旅游全攻略(图) 山凹里的小渔村 吉捕岙的柔软时光(组图) 去澳门和香港旅游7天大概要换多少港币? 从香港怎么过澳门? 从深圳机场如何到达香港迪士尼乐园? 澳门住宿的地方可以无线上网吗? 08055U1R8CAT2A Datasheet 08055U1R8CAT2A Datasheet SQCAEA2R0BAJWE Datasheet SQCAEA2R0BAJWE Datasheet AQ12EA8R2CAJME Datasheet AQ12EA8R2CAJME Datasheet 济南港澳游价格 济南港澳游价格 济南港澳游价格 包头跟团港澳五日游价格 包头跟团港澳五日游价格 包头跟团港澳五日游价格 包头到港澳三天两晚价格 包头到港澳三天两晚价格 包头到港澳三天两晚价格