Spring提供DAO的支持是为了以一致的方式访问数据库。
Spring支持DAO需引入org.springframework.jdbc.core.JdbcTemplate包。注入DataSource。
JDBCTemplet最好被注入进DAO。
Hibernate:是一个开源的轻量级的ORM对象关系映射(Object-Relation(关系型数据库)Mapping)框架,它在底层对jdbc进行了封装。
缺点:
A:失去了对SQL的控制(当然hibernate也可以使用nativesql),难于优化,尤其对于一些复杂的关联查询时,hibernate提供的功能远不及直接使用JDBC方便性能更高。不写SQL简直难受。
B:在大量多表、复杂查询下难以驾驭,需要很深厚的功底。
C:对数据库设计要求太高了,而且封装性太好了。在大数据时,DB往往会做一些反范式的设计,这点是跟Hibernate冲突的。
D:在表很多时,配置非常复杂。