MyBatis的特点

MyBatis特点?

   1.轻量级自身不依赖其他任何JAR,但需要提供JDBC实现

   2.灵活,更加适用于需求变化频繁的互联网应用

      3.学习成本低,相比ORM框架而言,掌握MyBatis的使用是很轻松的

        4.与JDBC相比,减少了50%以上的代码量

        5.最简单的持久化框架、小巧简单易学

        6.SQL代码从程序代码中彻底分离出来,可重用

        7.提供XML标签,支持编写动态SQL

        8.提供映射标签,支持对象与数据库的ORM字段关系映射

MyBstis的缺点?

  • SQL语句编写工作量大,熟练度要高

  • 数据库移植性差,比如mysql移植到Orecle,SQL语句会有差异从而引起err

MyBatis在结构中的位置?

  MyBatis处在DAO(数据访问对象)的位置,回顾一下DAO的工作职责:

  连接数据库

  接收输入数据

  拼接并执行SQL

  解析并返回结果

MyBatis可以做什么?

  使用JDBC完成DAO层存在以下问题

  每次操作都需要手动的创建连接,最后关闭连接

  对于重复代码通常开发者都会进行封装,但是由于每个人的编码风格不同导致封装的代码也没有固定的套路

  MyBatis将数据库连接相关的参数放到配置XML中并封装了创建连接的代码

  频繁的创建和销毁连接

  由于数据库连接使用的是TCP长连接,并发量大的系统中,这样的方式会导致数据库连接资源耗尽

  MyBatis本身实现了连接池,可以解决这一问题,当然后续会更换其他更好的连接池

  接受参数拼接SQL语句并执行

  每一条SQL语句都是直接写在代码中(硬编码),如果后期需求发生变化,则需要修改源码中的SQL,然后重新编译,测试.....

  MyBatis将SQL语句从代码中剥离到Mapper.xml映射文件中

  解析结果

  JDBC返回的是ResultSet,必须手动将其映射到一个个的对象中,同样是重复度很高的代码;并且存在硬编码问题

  MyBatis实现了入参映射到SQL参数,以及结果集映射到POJO对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值