On Tue, 2006-04-04 at 12:17 +0200, Davide Rogora wrote: > Hi, > I'm new to iBATIS and I'm going to start a new application for my > company using it. > > One of my last doubt is: "Should I use Abator to generate sqlmap files > and classes?" > I have this doubt because I saw that JPetStore application has been > developed without using Abator. > > Do you have any experience with Abator or could you tell me advantages > and disadvantages of it?
Hello, I'm also new to iBATIS but am a little further along in the process. When I started the project...er, that is, when I dumped Hibernate, I used Abator to generate generic CI DAOs, models, and sqlmap files. The DAOs are Spring-wired, but I don't like Spring's SqlMapClient wrapper. At first I wanted to structure things in a way so that I could recreate the Abator files at will and not have to merge with any custom code. But I didn't want to have to surface all the iBATIS CRUD functionality in a custom API or deal with an overly complicated object model, so I decided to use the Abator classes as more of a starting point. Since I started coding, I've been adding wacky SQL to the maps and exposing it through the Abator generated DAOs/models. I do have some DDL changes that I'll use Abator to generate some more code/config, but I'll merge the differences in manually. The nice part about using the Abator generated code is that the CRUD busy work was done in an instant. I do wish there was a way to turn off the comments Abator puts in all the code, but that's a small thing. I didn't use any customization in Abator, but I haven't found much that I'd want to customize. So the Abator generated code has been working great for me so far, no complaints and many thanks to the team. BTW, I can't believe how much more productive I am using iBATIS than Hibernate. With Hibernate I was spending all my time trying reverse engineer what it was doing and figuring out how to either write code around it or tweak the config. iBATIS is great because I have complete control over what SQL gets run when...which I suppose if you don't know SQL all that well, would be a problem. Cheers, Chris
