说下Mybatis
MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,所以它的Spring整合事务管理的时候,jdbc与mybatis是同一个事务管理器,叫做DataSourceTransactionManager,mybatis框架执行sql并将结果映射成java对象并返回。
使用jdbc有如下这些问题
1、 数据库链接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库链接池可解决此问题。
2、 Sql语句在代码中硬编码,造成代码不易维护,实际应用sql变化的可能较大,sql变动需要改变java代码。
3、 使用preparedStatement向占有位符号传参数存在硬编码,因为sql语句的where条件不一定,可能多也可能少,修改sql还要修改代码,系统不易维护。
4、 对结果集解析存在硬编码(查询列名),sql变化导致解析代码变化,系统不易维护,如果能将数据库记录封装成pojo对象解析比较方便。