关于MyBatis的小白三问

关于MyBatis的小白三问

1、dataSource type = POOLED时不是指使用连接池嘛。

那怎么配置连接池的连接数量呢?

2、

Mybatis是否能直接替代连接池和DBUtils呢?

如果能,那Druid和Apache Common DBUtils还有必要用吗?

如果不能,为什么?

如果是因为功能问题,有些地方无法取代,又如何与前两者协作?

3、

这所谓的框架,现在看来不就是提供了代码量更少的封装吗,它更像是把连接池和DBUtils两个东西结合起来。

那么,为什么连接池不叫框架,DBUtils也不叫框架,而MyBatis就是框架了呢?

就因为它提供了将SQL与程序分离的渠道吗?

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,使用MyBatis中的也是可以的。只不过具体使用单独的连接池还是使用MyBatis框架中的连接池,在开发中需要根据项目要求选择使用的。并不会完全替代。

祝学习愉快!

好帮手慕小尤 2020-09-21 11:43:45

同学你好,1. 是的,POOLED是使用连接池的数据源。

2. 同学可通过 poolMaximumActiveConnections设置连接数( 在任意时间可存在的活动(正在使用)连接数量,默认值:10), 如下所示:

http://img1.sycdn.imooc.com//climg/5f681e290939f74d10310329.jpg

3. Mybatis无法直接替代连接池和DBUtils,

  • 连接池是创建和管理数据库连接的缓冲池技术。连接池就是一个容器,连接池中保存了一些数据库连接,这些连接是可以重复使用的。如:

        我们现实生活中每日三餐。我们并不会吃一餐饭就将碗丢掉,而是吃完饭后将碗放到碗柜中,下一餐接着使用。目的是重复利用碗,我们的数据库连接也可以重复使用,可以减少数据库连接的创建次数。提高数据库连接对象的使用率。

  • dbutils: 是对jdbc进行了相对简单的包装, 主要就是能自动封装查询结构集, 需要在代码中写 sql 语句。

  • Mybatis: 进一步封装 jdbc, Sql 语句写在配置文件中, 面向对象操作, 有一 二级缓存功能。

    Mybatis优点:

        半自动的执行方式,除sql外操作由框架完成,方便快捷,

        实现sql与java代码分离,灵活性高,方便维护

           轻量级的框架,执行速度快

4. 连接池用于连接数据库,而dbutils是对jdbc进行简单的封装。而Mybatis框架有大量的封装,可以直接调用,不止提供了将SQL与程序分离,还存在缓存功能等功能,可以提高执行速度。

祝学习愉快!  

  • 提问者 易萧 #1
    MyBatis不是有连接池吗,为什么不能替代连接池,而且它和DBUtils都是对JDBC进行了封装,简化创建连接和增删改查等操作,为什么不能代替DBUtils,它们比MyBatis多的功能或者好的地方在哪儿,什么是MyBatis不能完成的,或者完成起来更困难的。
    2020-09-21 11:51:54
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师