I downloaded the abator. How do I run it as standalone application? What is the command?
-Henry Clinton Begin wrote: > > Nope. Your solution is fine. > > Cheers, > Clinton > > On 2/12/06, *wang lei* <[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> wrote: > > I am soryy not to agree to your opinions. > You said the <dynamic> xml is simpler than the code. > Now i want to write it in detail. > the code is the following; > int id=... > int min=... > int max=... > //get value from the servlet parameter > IQuery t_AllQuery = this.dao.newQuery(User.class); > if(id>0) > { > IQuery t_Query = this.dao.newQuery(User.class); > t_Query.addEqualTo("equal", new Integer(id)); > > t_AllQuery.addOrCriteria(t_Query); > } > > if(min>0) > { > IQuery t_Query = this.dao.newQuery(User.class); > t_Query.addEqualTo("min", new Integer(min)); > > t_AllQuery.addOrCriteria(t_Query); > } > > if(max<1000000) > { > IQuery t_Query = this.dao.newQuery(User.class); > t_Query.addEqualTo("max", new Integer(max)); > > t_AllQuery.addOrCriteria(t_Query); > } > *Now if the following urls are:* > *example.do?id=12&min=100* > *example.do?min=100* > *example.do?id=12&max=100* > *...* > *...* > 8 urls can listed and 8 sql statements will be executed. > Now may be 8 <dynamic> statement to support this query. > < /DIV> > With the increment of the condition, more sqls will be added,it's > difficult to maintain. > So i can't agree to your opinions of "the dynamic tag is simpler". > And which one is easy to understand, "java code" or xml. > for me,8 <dynamic> xml will be more difficult to maintain and > understand. > If you have a good solution or any idea,just give me, > Thanks for your help. > Addtionaly: > why I need to implement a dao to support ojb,hibernate and > ibatis,even jdbc. > because our company has some products to sell,some time these > products is needed to work with some products from other companies. > So w e must have a common dao to support plantation. >> >> As far as I can tell, the dynamic SQL example you gave is shorter > than >> the Java code you wrote (if you get rid of the redundant CDATA > sections). >> >> That said, I understand your point. A future goal for iBATIS SQL Maps >> (Data Mapper) will be to more easily support ad-hoc queries and >> configuration via the Java API. This will help you get to where > you want >> to be. Unfortunatley it's not available yet. >> >> Cheers, >> Clinton >> >> wang lei wrote: >> >>> At first, thanks for the quick reply from Brandon Goodin. >>> I use java for 3 years. >>> My major work is to provide small base libraries or swing and swt >>> controls for the developers in our company. > >> I don't have much experien ce in big projects. > >>> So my opinions is just based on the small or medium projects. >>> My idea for "design" is simple. I try to make the developer know > how >>> to use my library in 1-3 hours.The simplicity is what i need. >>> I think i understand what Brandon Goodin said. >>> The strength of ibatis is make it easy to use the database's >>> characteristic. >>> If i use ibatis,i should use sql instead of the "Criteria". >>> But i want more simplicity and flexibility. >>> The following is a example. >>> int id=... >>> int min=... >>> int max=... >>> //get value from the servlet parameter >>> IQuery t_AllQuery = this.dao.newQuery(User.class); >>> if(id>0) >>> { >>> IQuery t_Query = this.dao.newQuery (User.class); >>> t_Query.addEqualTo("equal", new Integer(id)); >>> >>> t_AllQuery.addOrCriteria(t_Query); >>> } >>> >>> if(min>0) >>> { >>> IQuery t_Query = this.dao.newQuery(User.class); >>> t_Query.addEqualTo("min", new Integer(min)); >>> >>> t_AllQuery.addOrCriteria(t_Query); >>> } >>> >>> if(max<1000000) >>> { >>> IQuery t_Query = this.dao.newQuery(User.class); >>> t_Query.addEqualTo("max", new Integer(max)); >>> >>> t_AllQuery.addOrCriteria(t_Query); >>> } >>> the java code above is common in out projects. >>> How many <dynamic> sql i need to write. >>> I write one example. >>> <sql id="selectUserWhere"> >>> <dynamic prepend="where"> >>> <isPropertyAvailable prepend="and" property="equal"> >>> <![CDATA[ >>> USER_ID=#equal# >>> ]]> >>> <isPropertyAvailable prepend="or" property="min"> >>> <![CDATA[ >>> USER_ID>#min# >>> ]]> >>> <isPropertyAvailable prepend="and" property="max"> >>> <![CDATA[ >>> USER_ID<#"max"# >>> ]]> >>> </isPropertyAvailable> >>> </isPropertyAvailable> >>> </isPropertyAvailable> >>> </dynamic> >>> </sql> >>> <select id="doSelectUser" parameterClass="java.util.Map " >>> resultMap="userResult"> >>> <![CDATA[ >>> Select USER_ID, USER_NAME, PHOTO, USER_MEMO from DEMO.USER_T >>> ]]> >>> <include refid="selectUserWhere" /> >>> </select> >>> If there is no the parameter of "equal". >>> the sql for execution will be >>> "Select USER_ID, USER_NAME, PHOTO, USER_MEMO from DEMO.USER_T". >>> I want to know h ow can i make it easy to handle it. >>> > > ------------------------------------------------------------------------ > 想成为冯小刚、陈凯歌、张纪中三大导演的主角吗? > <http://sostar.cn.yahoo.com> > >
