zoukankan      html  css  js  c++  java
  • MyBatis MyBatis Generator入门

      一、MGB功能简介

      MyBatis Generator是一个代码生成工具。

      MBG是如何运行的呢?它会检查所连接到的数据库的一个或者多个table,然后生成可用来访问这些table的构建(Java代码、XML文件等)。这减少了一开始在使用MyBatis与数据库连接交互时设置对象和配置文件的种种繁冗的操作。

      MBG目的是,对多数在数据库table上进行的简单的CRUD操作,都能自动生成相应Java代码以及映射文件。但是对于JOIN查询、存储过程等高级SQL操作,仍需要手动配置。

     

      二、MBG可以生成什么

      2.1 与一个表的结构对应的Java POJOs。

      这可能包括了:

    • a class to match the primary key of the table (if there is a primary key)
    • a class to match the non-primary key fields of the table (except BLOB fields)
    • a class to include the BLOB fields of a table (if the table has BLOB fields)
    • a class to enable dynamic selects, updates, and deletes

      这些类之间会有适当的继承关系(意思是一个表能生成多个类?)。

      通过修改配置,可以产生不同的继承关系。例如,如果需要,可以选择为每个表生成一个域对象。

     

      2.2 兼容MyBatis/iBATIS的SQL Map XML文件。

       MBG为一个configuration中的每个表上的简单CRUD函数生成相应的SQL。

      可以生成的SQL语句有:

    • insert
    • update by primary key
    • update by example (using a dynamic where clause)
    • delete by primary key
    • delete by example (using a dynamic where clause)
    • select by primary key
    • select by example (using a dynamic where clause)
    • count by example

      结果是依据表的结构而变化的,如果table没有主键,自然就不会生成通过主键来执行的操作。

      2.3 适当使用上述对象的Java Client类(貌似是DAO层的东西)

      Java Client类的生成是可选的,MBG将为MyBatis 3.x生成以下类型的Java Clients:

    • A mapper interface that works with the MyBatis 3.x mapper infrastructure;

      

      MBG will generate Java clients of the following types for iBATIS 2.x:

    • DAOs that conform to the Spring framework
    • DAOs that only use the iBATIS SQL mapping API. These DAOs can be generated in two varieties: supplying the SqlMapClient through either constructor or setter injection.
    • DAOs that conform to the iBATIS DAO Framework (an optional part of iBATIS, this framework is now deprecated and we suggest that you use the Spring framework instead)

      三、在迭代的环境中运行MBG

      MyBatis Generator为在迭代开发的环境中能够良好运行而设计,它可以作为Ant的task,或Maven的plugin,包含在持续构建环境中。

      当以迭代方式运行MBG时,需要注意的重要事项:

     1、如果存在与新生成的XML文件同名的现有文件,MBG将自动合并XML文件。

      MBG不会覆盖你对它生成的XML文件所做的任何自定义更改。您可以一次又一次地运行它,而不必担心丢失对XML的自定义更改。MBG将替换上次运行中生成的任何XML元素。

     2、MBG不会合并Java文件

      它既可以覆盖现有文件,也可以用不同的惟一名称保存新生成的文件。

      如果你对生成的Java文件进行更改并迭代运行MBG,则必须手工合并更改这些Java文件。

      当作为Eclipse插件运行时,MBG可以自动合并Java文件。

      四、MBG的依赖关系

      除了JRE之外,MBG没有任何依赖项。要求JRE 6.0或以上版本。

      MBG_1.3.6的运行要求Java 8,该版本可以生成基于 MyBatis Dynamic SQL的代码,当然默认是不开启的。

      不同版本的特性请看(What's New in MyBatis Generator)。

      此外,连接数据库所用的驱动(JDBC driver),必须实现DatabaseMetaData接口,特别是getColumns和getPrimaryKeys方法。

      

      

  • 相关阅读:
    PHP编程中一些时间和日期代码调用的实例
    想不显示织梦栏目列表页缩略图就是不显示默认缩略图怎么办
    织梦dede文章增加HTML自定义字段字符被过滤问题
    Dedecms友情链接/uploads/fli<x>nk/不显示正确的图片路径错误
    Dedecms教程:整站调用购物车订单数量简单解决办法
    织梦DedeCMS模板常用的内容统计sql标签代码
    DEDECMS首页loop调用留言本带用户头像的方法
    Python 序列、列表(List)、元组(Tuple)
    Python 字符串常用函数
    Python 运算符
  • 原文地址:https://www.cnblogs.com/bigbigbigo/p/10036114.html
Copyright © 2011-2022 走看看