目前看了前面的三章,用eclipse小试了一把,感觉这玩意的确很小 巧实在。使用很容易,不用像其他的大型框架配置半天,它就只有一个jar,大小才376K,里面就包括了所有的东西了。这点是最吸引我的地方,毕竟小嘛, 操作容易,上手也快。的确写起来很快,虽然我目前只做了一个很小的select的实验。对于真正的JAVA调用代码,其实就只有四行:
-
{try -
"com/featheast/chap2/SqlMapConfig.xml";String resource= -
Reader reader=Resources.getResourceAsReader(resource); -
SqlMapClient sqlMap=SqlMapClientBuilder.buildSqlMapClient(reader); -
"getAllUsers","1");List list=sqlMap.queryForList( -
"SelectedSystem.out.println( " +list.size()+"records." ); -
for(inti= 0;i<list.size();i++){ -
System.out.println(list.get(i)); -
} -
catch(Exception} e){ -
e.printStackTrace(); -
} -
}
回头来看看它的配置文件。分为两种,一种就是上面提到的sqlMapConfiguration,这是整个程序的全局配置地点。包括了你的数据库的驱动,地址,用户名,密码等等这些常用的connection参数:
- <sqlMapConfig>
-
<propertiesresource="com/featheast/chap2/db.properties"/> -
<transactionManagertype="JDBC"> -
<dataSourcetype="SIMPLE"> -
<propertyname="JDBC.Driver" -
value="${driver}"/> -
<propertyname="JDBC.ConnectionURL" -
value="${url}"/> -
<propertyname="JDBC.Username" -
value="${user}"/> -
<propertyname="JDBC.Password" -
value="${password}"/> -
</dataSource> -
</transactionManager> -
<sqlMapresource="com/featheast/chap2/SqlMap.xml"/> - </sqlMapConfig>
接下来的关键部分就是上面这段代码中的sqlMap,这就是iBatis的核心部分,讲数据库的sql语句如何MAP到OO上来。
- <sqlMap>
-
<selectid="getAllUsers" parameterClass="string" resultClass="hashmap"> -
monthSELECT * FROM userinfo WHERE = #monthId# -
</select> - </sqlMap>
有一个小小的问题就是目前来 说,这些XML配置文件的代码都得自己手写,于是这也就造成了会写错的地方,特别是DOCTYPE部分,下午我自己写的时候,就是在这里抄错了一个标点符 号和多写了一个字母,结果BAIDU来GOOGLE去,都解决不了问题,最终还是发现了这点点的敲击键盘错误。要是以后eclipse能自动生成配置文件 格式并检验就好了。我个人觉得现在应该也有了这种插件吧,还是明天再研究研究。
以上所列出的就是第一天学习的iBatis的一点点总结。 很基础,每一个模块都还有很多东西要深究,这也就是后面几章要讲的内容。就我个人看来,iBatis相当于就是一个半自动化的ORM工具,毕竟各种SQL 语句还是得自己写,但是他能够将其MAP到OO,也算是一种很基础的封装,的确比直接调用JDBC显得要模式清楚的多。所以对于JDBC很熟悉的人来说, 看这些东西真的是很容易的一件事。而且再次说的是,iBatis真的是小巧,和Hibernate比起来呵呵。不过自然hibernate有它的强大之 处,打算等假期结束了,再重新回头来看一次Hibernate,也许会有更多的收货。
PS:iBatis还可以在.net上运行,现在是月底,网速没有了,明天到学校去下一个.net版本的跑跑C#看效果如何。
插入表情