目录
传统代码操作数据库的存在的问题
数据库连接,在使用数据库时,创建数据库连接,在不用的时候,就会立即释放掉连接;这样当下次使用的又会创建数据库连接,对数据库进行频繁开启和关闭连接,造成数据库资源的浪费,影响数据库性能 ;
将
sql
代码硬编码
到java
代码中了,导致如果sql
代码发生变化,就需要重新编译
java
代码;- 在
PreparedStatement
对象中设置参数时,同样使用了硬编码
; - 从
resultSet
中遍历结果的时候,同样存在硬编码
的问题 ;
mybatis 的解决之道
mybatis
的出现,使得解决上面问题的方法,又多了一种选择;
当然我们先说下,mybatis
的身世,它是 Apache
组织下的顶级项目,是一款非常优秀的框架 ;
mybatis
的初衷是,让程序员将主要精力放在 sql
上面,通过 mybatis
提供的映射方式,自由灵活的生成满足需要的 sql
语句(其实过程是个半自动化的过程,大部分 sql
还是需要程序员自己编写的)。
mybatis
可以将preparedStatement
对象中的输入参数自动进行 输入映射
。将查询结果集合灵活的映射成 java
对象(输出映射
)。