持久层技术解决方案:
JDBC技术:
Connection
PreparedStatement
ResultSet
Spring的JdbcTemplate:
Spring中对JDBC的简单封装
Apache的DBUtils:
它和Spring的JdbcTemplate很像,也是对JDBC的简单封装
以上这些都不是框架
JDBC是规范
Spring的JabcTemplate和Apache的DBUtils都只是工具类
JDBC技术的问题:
Mybatis是一个优秀的基于java的持久层框架,它内部封装了jdbc,使开发者只需要关注sql语句本身,而不需要花费精力去处理加载驱动、创建连接、创建statement等反之的过程。Mybatis通过xml或注解的方式将要执行的各种statement配置起来,并通过java对象和statement中sql的动态参数进行映射生成最终执行的sql语句,最后又mybatis框架执行sql并将结构映射为java对象并返回。
采用ORM思想解决了实体和数据库映射的问题,对jdbc进行了封装,屏蔽了jdbc api底层访问细节,使我们不用与jdbc api打交道,就可以完成对数据库的持久化操作。
ORM:Object Relational Mapping 对象关系映射,就是把数据库表和实体类及实体类的属性对应起来,让我们可以操作实体类就是先操作数据库表。