`
squirel
  • 浏览: 21992 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

iBatis 3最佳实践

    博客分类:
  • java
阅读更多
这两天把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的工具了
2
4
分享到:
评论
2 楼 zhoutaomtv 2010-09-09  
确实强大,正在学习
1 楼 tedeyang 2010-05-06  
very great!这个映射确实是个好思路,记得以前ibatis是用方法上的注解来映射sql的吧,这个又更进了一步。

相关推荐

    IBatis.Net运行机制和最佳实践

    IBatis.Net运行机制和最佳实践,学习ibatis的绝好资料,不可多得哟

    iBATIS 3 内的新特性.pdf

    iBATIS 是一个项目,主要用于数据访问对象(data access object ,DAO )和对象关系映射(object-relational mapping,ORM)。您可以使用它来轻松处理Java™ 对象和数据库。对 ...种最佳实践。

    iBATIS实战

    第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 将其保存在类...

    websevice,spring,cxg,ibatis

    CXF环境配置 - jackymin CXF与Spring的集成 log4j的配置使用 Spring XML配置十二个最佳实践WebService开发实例 (Xfire+Spring+Hibernate)

    mybatis 最佳实践

    MyBatis 的前身是 iBatis 。是一个数据持久层(ORM)框架。至今,MyBatis 源 码内的包名仍在使用 org.apache.ibatis。 MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。 MyBatis 消除了几乎所有的 ...

    Spring In Action中文 第三部分

    ·企业组应用系统最佳实践。 “……一种解释Spring中各个主题的很好途径……我喜欢这本书” ——Christian Parker,Adigio公司总裁 “……没有其他书籍可以与这本书的实用性相提并论。” ——Olivier Jolly,J2EE...

    RailsPetstore-开源

    RPetstore是iBatis JPetstore的Rails实现。 目的是展示使用Ruby on Rails框架构建Web应用程序的最佳实践。

    Spring In Action中文 第一部分

    ·企业组应用系统最佳实践。 “……一种解释Spring中各个主题的很好途径……我喜欢这本书” ——Christian Parker,Adigio公司总裁 “……没有其他书籍可以与这本书的实用性相提并论。” ——...

    Spring In Action中文 第二部分

    ·企业组应用系统最佳实践。 “……一种解释Spring中各个主题的很好途径……我喜欢这本书” ——Christian Parker,Adigio公司总裁 “……没有其他书籍可以与这本书的实用性相提并论。” ——...

    Spring In Action中文 第四部分

    ·企业组应用系统最佳实践。 “……一种解释Spring中各个主题的很好途径……我喜欢这本书” ——Christian Parker,Adigio公司总裁 “……没有其他书籍可以与这本书的实用性相提并论。” ——...

    Spring In Action中文 第五部分

    ·企业组应用系统最佳实践。 “……一种解释Spring中各个主题的很好途径……我喜欢这本书” ——Christian Parker,Adigio公司总裁 “……没有其他书籍可以与这本书的实用性相提并论。” ——...

    Spring In Action中文 第六部分

    ·企业组应用系统最佳实践。 “……一种解释Spring中各个主题的很好途径……我喜欢这本书” ——Christian Parker,Adigio公司总裁 “……没有其他书籍可以与这本书的实用性相提并论。” ——...

    Spring In Action中文 第八部分

    ·企业组应用系统最佳实践。 “……一种解释Spring中各个主题的很好途径……我喜欢这本书” ——Christian Parker,Adigio公司总裁 “……没有其他书籍可以与这本书的实用性相提并论。” ——...

    Spring In Action中文 第七部分

    ·企业组应用系统最佳实践。 “……一种解释Spring中各个主题的很好途径……我喜欢这本书” ——Christian Parker,Adigio公司总裁 “……没有其他书籍可以与这本书的实用性相提并论。” ——...

    开源软件之道.part2of2

    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 in Action中文版 清晰pdf part2

    ·企业组应用系统最佳实践。 “……一种解释Spring中各个主题的很好途径……我喜欢这本书” ——Christian Parker,Adigio公司总裁 “……没有其他书籍可以与这本书的实用性相提并论。” ——Olivier Jolly,J2EE...

    Spring in Action中文版 清晰pdf part1

    ·企业组应用系统最佳实践。 “……一种解释Spring中各个主题的很好途径……我喜欢这本书” ——Christian Parker,Adigio公司总裁 “……没有其他书籍可以与这本书的实用性相提并论。” ——Olivier Jolly,J2EE...

    iuhyiuhkjh908u0980

    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:解压,...

Global site tag (gtag.js) - Google Analytics