MyBatis总结之框架原理浅析

在介绍mybatis框架原理之前我们先总结一下原生态jdbc编程中的问题:


(1)、数据库连接,使用时就创建,不使用立即释放,对数据库进行频繁连接开启和关闭,造成数据库资源浪费,影响 数据库性能。
(设想:使用数据库连接池管理数据库连接)

(2)、将sql语句硬编码到java代码中,如果sql 语句修改,需要重新编译java代码,不利于系统维护。
(设想:将sql语句配置在xml配置文件中,即使sql变化,不需要对java代码进行重新编译)


(3)、向preparedStatement中设置参数,对占位符号位置和设置参数值,硬编码在java代码中,不利于系统维护。
(设想:将sql语句及占位符号和参数全部配置在xml中)

(4)、从resutSet中遍历结果集数据时,存在硬编码,将获取表的字段进行硬编码,,不利于系统维护。
(设想:将查询的结果集,自动映射成java对象)


1.MyBatis框架是什么


mybatis是一个持久层的框架,是apache下的顶级项目。


mybatis托管到goolecode下,再后来托管到github下(https://github.com/mybatis/mybatis-3/releases)。

mybatis让程序将主要精力放在sql上,通过mybatis提供的映射方式,自由灵活生成(半自动化,大部分需要程序员编写sql)满足需要sql语句。

mybatis可以将向 preparedStatement中的输入参数自动进行输入映射,将查询结果集灵活映射成java对象。(输出映射)


2.mybatis框架


3.小结:

(1)mybatis入门比较简单,延续了很好的SQL使用经验。


缺点就是框架还是比较简陋,功能尚有缺失,虽然简化了数据绑定代码,但是整个底层数据库查询实际还是要自己写的,工作量也比较大,而且不太容易适应快速数据库修改。


适用与需求变化较多的项目,比如:互联网项目。


(2)Hibernate功能强大,数据库无关性好,O/R映射能力强,如果对Hibernate进行了适当的封装,那么项目整个持久层代码会相当简单,需要写的代码很少,开发速度会很快。


缺点就是学习门槛不低,要精通门槛更高,而且怎么设计O/R映射,在性能和对象模型之间如何权衡取得平衡,以及怎样用好Hibernate方面需要经验和能力都很强才行。


适用与需求变化不多的中小型项目,比如:后台管理系统,erpormoa

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 25
    评论
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值