Java客户端对象

MyBatis Generator (MBG)生成几种类型的Java客户端对象.用Java的客户端对象与所产生的XML交互容易得多. 对于配置中的每个表,MBG生成一个或多个Java客户端对象.如MyBatis的3, 这些都接口映射.对于iBATIS的2.x中,这些都是DAO接口和实现类. 生成Java客户对象是可选的,由<javaClientGenerator>配置. MBGr可以产生以下的Java客户短对象类型:

  • 如MyBatis 3.x:
    • XMLMAPPER - 用与支持MyBatis 3.x映射
  • 如iBATIS 2.x:
    • IBATIS - 使用iBATIS DAO框架
    • SPRING - 与Spring框架联合使用
    • GENERIC-CI - 使用不依赖iBATIS数据映射
    • GENERIC-SI - 使用不依赖iBATIS数据映射

每个字段和方法产生包括JavaDoc标签@mbggenerated.Eclipse插件运行时, 运行中每个字段和方法包括此Javadoc标记将被删除并替换.在类中的其他任何字段或方法将保持不变. 考虑到这一点,您可以不用担心加入的字段和方法丢失 -不包括在Javadoc标签@mbggenerated中内容.

离开Eclipse插件,您需要手动合并Java文件,但是使用JavaDoc的 @mbggenerated标签用来了解删除以前版本的文件是否安全.

注意: 下面描述中"BLOB"指任何列的BLOB数据类型包括BLOB, CLOB, LONGVARCHAR, 和 LONGVARBINARY.

通用DAO方法

根据表的特性,以及配置选项,Java客户端自动生成如下方法:

  • countByExample
  • deleteByPrimaryKey
  • deleteByExample
  • insert
  • insertSelective
  • selectByPrimaryKey
  • selectByExample
  • selectByExampleWithBLOBs
  • updateByPrimaryKey (否更新BLOB字段需要重写方法)
  • updateByPrimaryKeySelective (只更新参数类非空字段)
  • updateByExample (否更新BLOB字段需要重写方法)
  • updateByExampleSelective (只更新参数类非空字段)

对于包含BLOB的表,MBG通过生成不同的对象和方法使您更容易使用BLOB字段,是否忽略它们,这取决于具体情况.

详见 Example类使用说明selectByExample方法使用.

XMLMAPPER 客户端 (MyBatis 3.x)

XMLMAPPER客户端是将接口方法映射到生成的XML映射文件中.例如,MBG自动生成的接口名为MyTableMapper.您可以如下使用该接口:

  SqlSession sqlSession = sqlSessionFactory.openSession();

  try {
    MyTableMapper mapper = sqlSession.getMapper(MyTableMapper.class);
    List<MyTable> allRecords = mapper.selectByExample(null);
  } finally {
    sqlSession.close();
  }

有关如何创建实例的详细信息,请参阅MyBatis文档怎么创建sqlSessionFactory实例.

IBATIS DAOs (iBATIS 2.x)

iBATIS DAO依赖于iBATIS的DAO框架(iBATIS的一个可选部分 - 现在已经过时). 他们继承SqlMapDaoTemplate类和初始化DAOManager对象的实例,并且调用方法执行不同的语句.

MBG不会为您更新“dao.xml”文件 - 您必须添加手动相应的内容.

iBATIS DAO框架是一个非常基础的IoC容器,如果您尚未使用像Spring或PicoContainer的管理依赖关系的框架,iBATIS DAO框架可能会有用. 然而,该框架现在已经过时,我们建议您使用Spring.

SPRING DAOs (iBATIS 2.x)

SPRING DAO依赖于Spring框架.他们继承Spring的SqlMapClientDaoSupport类通过Spring容器构造DAO.

GENERIC-CI DAOs (iBATIS 2.x)

GENERIC-CI DAO调用iBATIS的SqlMapClient接口.该接口的实例是通过构造函数注入.

GENERIC-SI DAOs (iBATIS 2.x)

GENERIC-SI DAO调用iBATIS的SqlMapClient接口.该接口的实例是通过setter注入.

results matching ""

    No results matching ""