﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-风人园-随笔分类-iBatis</title><link>http://www.blogjava.net/wuxufeng8080/category/22045.html</link><description>弱水三千，只取一瓢，便能解渴；佛法无边，奉行一法，便能得益。</description><language>zh-cn</language><lastBuildDate>Sun, 30 Aug 2009 17:21:02 GMT</lastBuildDate><pubDate>Sun, 30 Aug 2009 17:21:02 GMT</pubDate><ttl>60</ttl><item><title>ibatis3中感觉比2不方便的地方</title><link>http://www.blogjava.net/wuxufeng8080/archive/2009/08/26/292651.html</link><dc:creator>风人园</dc:creator><author>风人园</author><pubDate>Wed, 26 Aug 2009 08:30:00 GMT</pubDate><guid>http://www.blogjava.net/wuxufeng8080/archive/2009/08/26/292651.html</guid><wfw:comment>http://www.blogjava.net/wuxufeng8080/comments/292651.html</wfw:comment><comments>http://www.blogjava.net/wuxufeng8080/archive/2009/08/26/292651.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wuxufeng8080/comments/commentRss/292651.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wuxufeng8080/services/trackbacks/292651.html</trackback:ping><description><![CDATA[<br />
1、动态sql里面 原来的dynamic，现在没有了，只能用is代替。但是if里面的判断 没有isEmpty这种方便的标签，需要判断需要同时判断 null 和 ""。这个比较麻烦，希望能在正式版本中加上。<br />
<br />
2、annotion方式的评价，个人感觉没有什么意义。从我来讲，用iBATIS的主要原因是因为要处理比较复杂的sql，所以通常sql都会很长，就是因为不想通过字符串的方式写在代码里，要是写在代码里，直接用hibernate的原生sql就好了，何必还要用iBATIS呢。sql写在xml里的好处是显而易见的，可以直接将调试好的sql从sql的编辑器中复制过来，这样可以省掉很多麻烦的事情，放在sql里面很长，又没有办法将格式弄好，要是换行什么的就更麻烦。<br />
<br />
一个比较有用好的改进就是namespace了，这个功能以前在2.X想用一直没有用成。有了这个，很多通用的地方可以省略。<br />
<img src ="http://www.blogjava.net/wuxufeng8080/aggbug/292651.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wuxufeng8080/" target="_blank">风人园</a> 2009-08-26 16:30 <a href="http://www.blogjava.net/wuxufeng8080/archive/2009/08/26/292651.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ibatis3及代码生成工具试用</title><link>http://www.blogjava.net/wuxufeng8080/archive/2009/08/21/292060.html</link><dc:creator>风人园</dc:creator><author>风人园</author><pubDate>Fri, 21 Aug 2009 02:36:00 GMT</pubDate><guid>http://www.blogjava.net/wuxufeng8080/archive/2009/08/21/292060.html</guid><wfw:comment>http://www.blogjava.net/wuxufeng8080/comments/292060.html</wfw:comment><comments>http://www.blogjava.net/wuxufeng8080/archive/2009/08/21/292060.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wuxufeng8080/comments/commentRss/292060.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wuxufeng8080/services/trackbacks/292060.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ibatis3现在还是beta版，但是已经可以很好的使用了。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;主要增强的方面有namespace这个东西，以前2的时候一直以为可以用的，结果没有效果，害我还郁闷了半天，这样以后就不会再有命名冲突了。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;然后就是annotion的支持，这样就可以不适用xml文件来保存sql了，但是感觉还是写在xml里面比较舒服，特别是比较长的sql，个人感觉。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;第三个就是动态sql的增强，增加很多有用的标签。可以让动态sql使用更加方便。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在看完之后暂时感觉有那么几个比较好的改变，等正式版出来之后可能还有更多改进。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;接着讲下abator这个代码生成工具，感觉还可以，生成的sqlmap配置文件还可以用下，其他的就算了，还是自己手写吧。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;最后提到一下ibatis-3-migrations，这个东西暂时还没有看明白，好像是数据库schema的一个管理工具。正在啃guide，看看到底有什么好处，上次看有个人的文章说，就是因为没有这个东西才没有用ibatis，所以这个东东应该很强大，我要看下。
<img src ="http://www.blogjava.net/wuxufeng8080/aggbug/292060.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wuxufeng8080/" target="_blank">风人园</a> 2009-08-21 10:36 <a href="http://www.blogjava.net/wuxufeng8080/archive/2009/08/21/292060.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SqlMapClient.insert()返回主键</title><link>http://www.blogjava.net/wuxufeng8080/archive/2007/07/06/128472.html</link><dc:creator>风人园</dc:creator><author>风人园</author><pubDate>Fri, 06 Jul 2007 00:18:00 GMT</pubDate><guid>http://www.blogjava.net/wuxufeng8080/archive/2007/07/06/128472.html</guid><wfw:comment>http://www.blogjava.net/wuxufeng8080/comments/128472.html</wfw:comment><comments>http://www.blogjava.net/wuxufeng8080/archive/2007/07/06/128472.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/wuxufeng8080/comments/commentRss/128472.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wuxufeng8080/services/trackbacks/128472.html</trackback:ping><description><![CDATA[&lt;insert id="saveInfoReq" parameterClass="informationRequisition" &gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INSERT INTO IT_M_InformationRequisition(TrackingNumber, SAPCODE,PLANT_FK)&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;values (#trackingNumber#, #sapCode#,#plant_FK#）<br>&nbsp;&nbsp;&lt;selectKey resultClass="int" keyProperty="id" &gt;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SELECT @@IDENTITY AS ID <br>&nbsp;&nbsp;&lt;/selectKey&gt; <br>&nbsp;&lt;/insert&gt;<br>在insert的sql声明中，需要嵌套selectKey，然后去运行相应产生主键的语句。在sql server中，是通过@@IDENTITY来产生主键的，这里相当于两个语句，第一个语句insert，完成之后再调用select，这样就能获得这个记录的主键了。<br><br>在其他的数据库中也会有相应其他的主键生产方式，按照他们方式就可以返回相应的主键了。
<img src ="http://www.blogjava.net/wuxufeng8080/aggbug/128472.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wuxufeng8080/" target="_blank">风人园</a> 2007-07-06 08:18 <a href="http://www.blogjava.net/wuxufeng8080/archive/2007/07/06/128472.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>