欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

iBatis 3最佳实践 博客分类: java iBATISjava 

程序员文章站 2024-03-25 11:45:34
...
这两天把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);


iBatis 3最佳实践
            
    
    博客分类: java iBATISjava  XML写SQL,然后用Mapper Interface写程序,我认为这是最好的用法了,现在就期待有人能写个SQL Map >>> Mapper Interface的工具了iBatis 3最佳实践
            
    
    博客分类: java iBATISjava 
相关标签: iBATIS java