手写框架探险系列-各大jdbc框架的比较

不考虑jpa框架,太重了。

  • NamedPreparedStatement
    - 仅仅对jdbc?做了人性化的处理
  • dbUtils
    • 仅仅封装了jdbc的set和get操作
    • 没有NamedPrepared,没有事务管理,没有对结果集进行细分(sql的值,集合,表,记录)
值: select name form user where id = 1;
集合 : select name form user ;
表 : select * from user;
记录: select * from user where id = 1;
  • Spring-jdbc
    • 有NamedPrepared,和set和get的封装,有事务管理,对结果集进行了细分。
    • 没有提供插件机制。
  • mybatis
    • 以上的都有,id去查找sql,同时提供了插件机制解析sql
    • 没有NamedPrepared,对集合的实现是Iterable不是List这是个瑕疵。

总结:

  • mybatis+ Spring-jdbc就完美了,但是之间聚合就太重了,所以需要自己整合一下他们的实现。
  • 如果说需要一个杀手锏的话,就是Future模式,我们可以对sql进行Future而dml语句就在主线程进行。这是不是就把多线程编程给提取出来了。
  • 兼容的话,就做一个适配器吧。

参考资料

  • 彻底理解Java的Future模式
  • Named Parameters for PreparedStatement
  • commons-dbutils-api
  • Spring JDBC(一)jdbcTemplate
  • mybatisMyBatis 3 | 简介

你可能感兴趣的:(手写框架探险系列-各大jdbc框架的比较)