appfuse下使用ibatis的一般步骤和若干问题

appfuse下使用ibatis的一般步骤和若干问题:
1:在生成的项目的extras/ibatis下运行ant install
刷新项目,出现两个错误:
Project ngucs is missing required library: 'lib/ibatis-2.1.7/jta.jar'
The project cannot be built until build path errors are resolved
两种方法解决可以这个问题:
(1)打开.classpath文件,将下面这一行删除(因为在hibernate的配置中已经引用了jta.jar)
< classpathentry  kind ="lib"  path ="lib/ibatis-2.1.7/jta.jar" />


(2)将lib/hibernate-3.1.3/lib/jta.jar拷贝到lib/ibatis-2.1.7/,刷新项目。
2:如果不使用hibernate相关的操作,那么将和hibernate相关的文件(包括配置文件)和包删除,以防发生混淆
3:修改在生成的项目extras/appgen文件的build.xml

 

< target  name ="merge-config"  depends ="merge-tests,merge-menu,merge-hibernate,merge-ibatis" >

 

中的“merge-hibernate,”去掉,这样在appgen下运行ant install-detailed的时候就不会生成hibernate相关的文件了!
4:生成文件不一定都能通过编译,原因有很多种,常见的原因有:
(1)数据表设计时对主键的类型的错误设计,通常是太短了,建议主键都使用bigserial类型,如果使用serial,在生成的文件中多处会出现对int类型一些操作!使用bigserial对应生成的类型是Integer这样就不会有错了!--对应这种错误,如果不能修改数据的设计的话就只好修改代码咯!快捷的方法是将model中主键对应的成员变量的类型改成Integer,在其他地方(xml,dao,servic,action)对这个成员变量的引用(一般通过取值函数)也做相应的类型修改就可以了。
5:修改完和主键相关的地方后,发现还有几个和form相关的错误,这是因为相应的form还没有生成,回到项目的根目录,使用ant deploy命令就会生成了.
6:关于insert中的selectKey,pgsql中应该是这样放到insert sql语句后面,使用的函数应该是currval('tablename_id_seq')
7:可以在appgen中修改相应的模板(xdt文件--一般在生成的项目extras/appgen/src中),使得appgen生成的代码更接近自己的需要的代码,这样就可以减少生成代码后的修改工作。
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值