ibatis 3 beta 1 发布,可以去下载试用一下了,http://ibatis.apache.org/java.cgi?Preferred=http://www.apache.org/dist
大概读了一下User Guide,值得关注的几点:
* Namespace 现在不是optional了,是required
* 可以使用Java Annotation来配置这些sql了,不过由于java本身和annotation本身的限制,更复杂的sql还是建议使用xml
* 强类型的接口(interface binding),可以使用:
BlogMapper mapper = session.getMapper(BlogMapper.class);
Blog blog = mapper.selectBlog(101);
package org.apache.ibatis.example;
public interface BlogMapper {
@Select("SELECT * FROM blog WHERE id = #{id}")
Blog selectBlog(int id);
}
* 增加了很多扩展点,可以写不用的plugin来扩展功能,
Executor : (update, query, flushStatements, commit, rollback, getTransaction, close, isClosed)
ParameterHandler : (getParameterObject, setParameters)
ResultSetHandler : (handleResultSets, handleOutputParameters)
StatementHandler : (prepare, parameterize, batch, update, query)
* Configuration本身可以被替换,这个是很核心的东西了
* 动态sql增强了不少:
<select id=”findActiveBlogLike”
parameterType=”Blog” resultType=”Blog”>
SELECT * FROM BLOG WHERE state = ‘ACTIVE’
<choose>
<when test=”title != null”>
AND title like ${title}
</when>
<when test=”author != null && author.name != null”>
AND title like ${author.name}
</when>
<otherwise>
AND featured = 1
</otherwise>
</choose>
</select>
* 其他的一些增强
看的出来,ibatis 3.0做了很多事情,开放了很多精心设计的扩展点,使用上灵活很多,也友好很多,非常值得关注啊
说实话,从wiki上最早的关于3.0的讨论开始,我就开始关注相关信息了,svn,wiki,maillist,非常不错,推荐大家看看。
分享到:
相关推荐
本文采用的是ibatis3 beta9版本,尽管是测试版,但接近通用版本(GA),因此其功能和稳定性值得信赖,预计在GA版本发布后,本文介绍的例子同样适用。 三、数据库选择与抽象层的重要性 ibatis3的核心价值在于它提供...
3. ibator-1.2.1.681.jar:这是Ibatis Auto Generator(Ibator)的jar包,是一个代码生成工具,能够自动生成基于Ibatis的DAO层、实体类和XML配置文件,极大地提高了开发效率,降低了手动编写这些重复代码的工作量。...
本文将详细介绍如何在一个现有的Web项目中集成Flex3功能,并通过具体步骤展示整个过程。此外,文章还规划了后续的技术演进方向,例如利用BlazeDS实现Flex与服务端方法之间的通信等高级功能。 #### 目标 本文的目标...
其最新版本 v1.1 beta 增加了诸如文章评论、文章导航等功能,提升了用户体验。 dotCMS 是另一个基于 Java 的 CMS 解决方案,它提供了丰富的功能,包括内容管理、工作流程和版本控制,支持全文搜索,并且可以进行...
就JDBC 层的直接封装而言,现在国内发展较好的一个项目是被称作“变形虫 ” (Amoeba)的项目,由阿里集团的研究院开发,现在仍然处于测试阶段(beta 版),其运行效率和生产时效性有待考究。 就ORM 框架层的实现而言...