原始jdbc存在的问题:
- 数据库连接,使用时就创建,不使用时立即释放,对数据库进行频繁连接和关闭,造成数据库资源浪费,影响数据库性能
- 设想:使用数据库连接池管理数据库连接
- 将sql语句硬编码到java代码中,如果sql语句修改,需要重新编译java代码,不利于系统维护
- 设想:将sql语句配置在xml配置文件中,即使sql语句变化,也不需要对java代码进行重新编译
- 向preparedStatement中设置参数,对占位符号位置和设置参数值,硬编码在java代码中,不利于系统维护
- 设想:将sql语句及占位符和参数全部配置在xml文件中
- 从resultSet中遍历结果集数据时,存在硬编码,将获取表的字段进行硬编码,不利于系统的维护
- 设想:将查询的结果集自动映射成java对象
mybatis是什么?
- myabtis是一个持久层的框架,是apache下的顶级项目
- mybatis托管到github下(https://github.com/mybatis/mybatis-3/releases)
- mybatis让程序将主要精力放在sql上,通过mybatis提供的映射方式,自由灵活生成(半自动化,大部分需要程序员编写sql)满足需要sql语句
- mybatis可以将向 preparedStatement中的输入参数自动进行输入映射,将查询结果集灵活映射成java对象。输出映射
mybatis框架