Legacy:如果没有generatorSet属性的话,默认是Legacy。但并不推荐使用Legacy因为它在生成Example类(用于查询条件)的时候有很多限制,他将查询条件写在sqlMap配置文件中,将查询值写在Example中,这样就对修改产生一些困难。
Java2和Java5:他们只支持iBATIS 2.20以上的版本。在以这个模式成生的Example文件中包含了查询条件和查询值。这样修改就方便多了,对于用join的select时的查询就更方 便了,自己可以定义查询条件,自由度高了很多(对于join的and查询可能还得自己修改一下Example代码)。对于or和and的应用Legacy 的限制就比较大了。
<javaModelGenerator>、 <sqlMapGenerator>、 <daoGenerator>描述了个自生成的位置。<daoGenerator>中type属性则用来告诉abator生成的DAO是用于iBATIS还是SPRING等容器。
<table>告诉abator生成那个table的sqlMap。
<generatedKey>来告诉abator那些列需要自动返回值(当插入的时候可以返回插入记录的主键,这对有外键的数据库极其有用)identity默认为false,则在sqlMap配置文件中<selectKey>的位置在sql命令前面,所以identity应该改为true。根据数据库类型的不同sqlStatement属性取值也不同。
运行: 右键单击配置文件,点击Generate iBatis Artifacts,生成文件。
ps: 如果<daoGenerator>中type属性是ibatis的话,由于Abator生成的DAOImpl文件继承自com.ibatis.dao.client.template.SqlMapDaoTemplate,在ibatis ver. 2.3.0.677中会有错误提示,需酌情修改。 ps的ps: 不建议使用自动生成的Example去操作数据,一是因为Example中生成的方法有拼写SQL之嫌不符合OO思想,二是拼写后SQL效率有待进一步考证,没仔细看,但至少看到not in语句,如果要使用的话至少要进行一些修改。(^-^)个人愚见。 参考:Abator document: http://ibatis.apache.org/docs/tools/abator/ 枫 iBATIS的Eclipse插件Abator使用方法
posted on 2007-08-19 19:09 YY 阅读(6320) 评论(2) 编辑 收藏 所属分类: ibatis
不错,谢了 回复 更多评论
不过我的identity="false"才是正确的 回复 更多评论
Powered by: BlogJava Copyright © YY