IBATIS的思想,不同的实现思路

Hibernate比较适合对数据进行增,删,改的操作,而iBatis适合进行数据 查询,批量操作,而且方便利用DB底层的功能;IBATIS最吸引人的地方应该是将SQL从JAVA代码中分离,便于维护;但IBATIS的语法和分页并不灵活。

 

这里有个新的实现思路:利用JAVA动态编译功能将拼SQL的JAVA代码配置到XML中,实现SQL和JAVA代码的分离;

 

另外IBATIS的分页是使用逻辑分页,在数据量大时,会出现内存溢出的问题,这里可以使用org.hibernate.dialect.Dialect 中的分页sql生成函数:

    public String getLimitString(String query, int offset, int limit)
    {
        return getLimitString(query, offset > 0 || forceLimitUsage());
    }

    protected String getLimitString(String query, boolean hasOffset)
    {
        throw new UnsupportedOperationException("paged queries not supported");
    }

 

 

 

oracle分页
SELECT T_2.* FROM (SELECT T_1.*, ROWNUM ROWSEQ FROM (

 

select * from HUST_ABORAD_ACHIEVEMENTS

 

) T_1 where rownum<  #rowsEnd# + ") T_2 WHERE T_2.ROWSEQ >= #rowsStart#

 

mysql分页:
select * from A limit #startRow#, #endRow#

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值