在eclipse3.4里面装了个Ibator1.2插件生成代码,结果发现一直报“Unexpected error while running Abator . / by zero ” 这个错误, google了一把,发现官方解释是没有能找到<table>元素指定的表。
苦于插件形式看不到真正的日志,去官方下了ibator.jar ,采用命令行格式调试,并输出日志:
java -jar ibator.jar -configfile ibatorConfig.xml -overwrite >>log.log
仔细观察log日志后发现, 在talbe里面指定Mysql5的schema
<table schema="b2cdb" tableName="t_comm_guestbook">
则无论如何都会报错
Table configuration with catalog null, schema null, and table t_comm_guestbook did not resolve to any tables
好像schema元素有bug,于是修改:
1.将connectionURL="jdbc:mysql://172.25.34.85:3306"改成
connectionURL="jdbc:mysql://172.25.34.85:3306/b2cdb"
直接在url指定schema
2.table元素跳过使用shema,直接配置成<table tableName="t_comm_guestbook">
3.运行通过ibator finshed successfully。
下面再来说Nullpoint错误
配置了<sqlMapGenerator>和 <javaModelGenerator>属性之后,如果不配置 <daoGenerator>就会抛一个奇怪的Nullpoint 异常,无法定位。也不知道为什么会这样。。
总之,ibator1.2远远不够稳定,真不知道为什么官方那么强烈推荐升级到1.2