这两天把iBatis 3 beta 5 down下来鼓捣了一下,总结一下自己觉得最好的用法,有玩过的朋友欢迎一起来交流。
iBatis 3即可以在XML里写SQL,还支持用Annotation写,不过官方文档也不推荐用Annotation,java的Annotation弱了一点,写写简单的SQL还可以,如果SQL比较复杂,就麻烦了,文档里倒是提到C#的Attribute比较强,iBatis.net用户比较有福了,不过即使如此,我还是倾向于SQL写XML里比较好。
我觉得i3最激动人心的一点是Mapper Interface,先来一个SQL Map吧:
<mapper namespace="com.je.data.BookMapper">
<select id="getBookByISBN" parameterType="String" resultType="com.je.domain.Book">
select * from book where ISBN = #{ISBN}
</select>
<insert id="newBook" parameterType="com.je.domain.Book" flushCache="true" />
</mapper>
然后传统的做法就是:
Book book = (Book)session.selectOne("com.je.data.BookMapper.getBookByISBN", "123456789");
……
现在还可以这样做:
1、先根据SQL Map写一个Mapper Interface:
package com.je.data;
public interface BookMapper {
Book getBookByISBN(String ISBN);
newBook(Book book);
}
方法名字要跟SQL Statement的id一致,参数按顺序来就行,注意,现在这个Interface还是得自己写的
2、然后就可以这样来用:
BookMapper mapper = session.getMapper(BookMapper.class);
Book book = mapper.getBookByISBN("324567189");
……
mapper.newBook(book);
XML写SQL,然后用Mapper Interface写程序,我认为这是最好的用法了,现在就期待有人能写个SQL Map >>> Mapper Interface的工具了
分享到:
相关推荐
IBatis.Net运行机制和最佳实践,学习ibatis的绝好资料,不可多得哟
iBATIS 是一个项目,主要用于数据访问对象(data access object ,DAO )和对象关系映射(object-relational mapping,ORM)。您可以使用它来轻松处理Java™ 对象和数据库。对 ...种最佳实践。
第13章 iBATIS最佳实践 230 13.1 iBATIS中的单元测试 230 13.1.1 对映射层进行单元测试 231 13.1.2 对DAO进行单元测试 233 13.1.3 对DAO的消费层进行单元测试 235 13.2 管理iBATIS配置文件 237 13.2.1 将其保存在类...
CXF环境配置 - jackymin CXF与Spring的集成 log4j的配置使用 Spring XML配置十二个最佳实践WebService开发实例 (Xfire+Spring+Hibernate)
MyBatis 的前身是 iBatis 。是一个数据持久层(ORM)框架。至今,MyBatis 源 码内的包名仍在使用 org.apache.ibatis。 MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。 MyBatis 消除了几乎所有的 ...
·企业组应用系统最佳实践。 “……一种解释Spring中各个主题的很好途径……我喜欢这本书” ——Christian Parker,Adigio公司总裁 “……没有其他书籍可以与这本书的实用性相提并论。” ——Olivier Jolly,J2EE...
RPetstore是iBatis JPetstore的Rails实现。 目的是展示使用Ruby on Rails框架构建Web应用程序的最佳实践。
·企业组应用系统最佳实践。 “……一种解释Spring中各个主题的很好途径……我喜欢这本书” ——Christian Parker,Adigio公司总裁 “……没有其他书籍可以与这本书的实用性相提并论。” ——...
·企业组应用系统最佳实践。 “……一种解释Spring中各个主题的很好途径……我喜欢这本书” ——Christian Parker,Adigio公司总裁 “……没有其他书籍可以与这本书的实用性相提并论。” ——...
·企业组应用系统最佳实践。 “……一种解释Spring中各个主题的很好途径……我喜欢这本书” ——Christian Parker,Adigio公司总裁 “……没有其他书籍可以与这本书的实用性相提并论。” ——...
·企业组应用系统最佳实践。 “……一种解释Spring中各个主题的很好途径……我喜欢这本书” ——Christian Parker,Adigio公司总裁 “……没有其他书籍可以与这本书的实用性相提并论。” ——...
·企业组应用系统最佳实践。 “……一种解释Spring中各个主题的很好途径……我喜欢这本书” ——Christian Parker,Adigio公司总裁 “……没有其他书籍可以与这本书的实用性相提并论。” ——...
·企业组应用系统最佳实践。 “……一种解释Spring中各个主题的很好途径……我喜欢这本书” ——Christian Parker,Adigio公司总裁 “……没有其他书籍可以与这本书的实用性相提并论。” ——...
·企业组应用系统最佳实践。 “……一种解释Spring中各个主题的很好途径……我喜欢这本书” ——Christian Parker,Adigio公司总裁 “……没有其他书籍可以与这本书的实用性相提并论。” ——...
14.5 开源开发的最佳实践 235 14.6 企业参与开源 238 14.6.1 需求 238 14.6.2 风险 238 14.6.3 企业参与开源的策略 239 第15章 开创事业 242 15.1 项目启动与计划 242 15.2 选择正确的许可证 247 15.3 基础设施构建 ...
·企业组应用系统最佳实践。 “……一种解释Spring中各个主题的很好途径……我喜欢这本书” ——Christian Parker,Adigio公司总裁 “……没有其他书籍可以与这本书的实用性相提并论。” ——Olivier Jolly,J2EE...
·企业组应用系统最佳实践。 “……一种解释Spring中各个主题的很好途径……我喜欢这本书” ——Christian Parker,Adigio公司总裁 “……没有其他书籍可以与这本书的实用性相提并论。” ——Olivier Jolly,J2EE...
ant 学习很好得文档:ANT十五大最佳实践 http://www.oreilly.com.cn/news/ant15toppractices.php?c=javaTutorial:Hello World with Ant http://ant.apache.org/manual/tutorial-HelloWorldWithAnt.html ANT:解压,...