Ibatis3 发布 功能展示

ibaits 

 

        1:Dynamic SQL:动态SQL对熟悉JSTL或基于xml的文本处理的程序员来说是很好理解的,采用了基于OGNL的表达式后更是让XML mapper的配置减少到原来的一半。示例代码如下: 

 

<select id=”findActiveBlogWithTitleLike” parameterType=”Blog” resultType=”Blog”>
    SELECT * FROM BLOG
    WHERE state = ‘ACTIVE’
    <if test=”title != null”>
    AND title like #{title}
   </if>
</select>

 

 

         2:Maper Annotations:这个功能比较鸡肋,至少偶是这样认为。程序员在代码中写sql,这个给人的感觉是回到了jdbc的环境中,而且 Annotaciton和java代码高度耦合了,并非配置优先。

 

         3:SelectBuilder:用java代码来写sql,它使用static import和ThreadLocal变量的方式来保证语法的简介,很容易的去处理交织的条件和SQL格式化。 

public String selectBlogsSql() {
    BEGIN(); // Clears ThreadLocal variable
    SELECT("*");
    FROM("BLOG");
    return SQL();
}


 

 表达的结果是:select * from blog;

 

         4:暴露底层接口:ibatis可以通过实现一些接口来拦截执行某些特定的功能点,默认情况下有4种:

 * Executor(update, query, flushStatements, commit, rollback, getTransaction, close, isClosed) * ParameterHandler(getParameterObject, setParameters) * ResultSetHandler(handleResultSets, handleOutputParameters) * StatementHandler(prepare, parameterize, batch, update, query)

 

具体的实例请看:ibatis user guide

 

你可能感兴趣的:(sql,xml,ibatis,jdbc,Blog)