mybatis就是ibatis3.0以後的版本.
对于日常开发中的DB操作,我们经历了JDBC>DBUtils->JDBCTemlpate->hibernate->mybatis
对于以上比较,各阶段的利弊如下:
JDBC:
每次需要手动去写java代码去获取数据库链接,使用java代码去拼接sql,拼接参数,最后执行完还要手动去释放链接。
DBUtils:
封装了数据库的链接获取操作和链接关闭操作,这个时候主要工作是使用java代码去拼接sql,拼接参数
JDBCTemplate:
开始提供真正意义上的ormapping框架了,通过配置,引入即可,但是通常还是要在java中拼接sql
hibernate:
是一个很强大的全自动全映射的ORM(Object Relatoin Mapping)框架了,但是查询,通常是查询所有字段,如果要做优化,要深入学习HQL,上手难度稍微有点大
扫描二维码关注公众号,回复:
5388438 查看本文章
myabtis:
也就是我们这个系列的主要内容了,其实算不上完全的ormapping框架,因为它不如hibernate功能全面,算是半个ormapping框架吧,通常引入配置以后,我们只要定义接口和编写XML格式的sql即可,当然,也可以通过注解的方式写sql,优化起来,比hibernate要简单些
注意,嵌套在java代码中的sql,属于硬编码高耦合的方式。
但是不管哪个阶段,哪种方式的DB操作,都需要经过如下几个阶段:
- 编写sql
- 预编译
- 设置参数
- 执行sql
- 封装结果