多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# Java客户端对象 MyBatis Generator (MBG)生成几种类型的Java客户端对象.用Java的客户端对象与所产生的XML交互容易得多. 对于配置中的每个表,MBG生成一个或多个Java客户端对象.如MyBatis的3, 这些都接口映射.对于iBATIS的2.x中,这些都是DAO接口和实现类. 生成Java客户对象是可选的,由`&lt;javaClientGenerator&gt;`配置. 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类使用说明](exampleClassUsage.html) 中`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注入.