Spring中整合ssm的时候导入的spring-jdbc坐标是干嘛的?

最近学习spring整合ssm,看到在pom.xml导入很多坐标

<dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.2.10.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.16</version>
        </dependency>

        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.6</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.12</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>5.2.10.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>1.3.0</version>
        </dependency>

    </dependencies>

我不太理解为什么需要这么多的坐标,尤其是spring-jdbc这个,我的理解的我已经导入druid数据源了也导入了mybatis相关坐标了,按理说这2个坐标就是为了解决jdbc建立连接和销毁太过于浪费资源/ MyBatis是对JDBC的封装,即使CRUD操作变得更加简单了。那为什么还需要jdbc的坐标呢?有没有懂的老哥帮忙解答一下,谢谢了!!

阅读 839
2 个回答
我不太理解为什么需要这么多的坐标,尤其是spring-jdbc这个,我的理解的我已经导入druid数据源了也导入了mybatis相关坐标了,按理说这2个坐标就是为了解决jdbc建立连接和销毁太过于浪费资源/ MyBatis是对JDBC的封装,即使CRUD操作变得更加简单了。那为什么还需要jdbc的坐标呢?有没有懂的老哥帮忙解答一下,谢谢了!!

因为你要在 spring 的环境里使用 mybaits,于是你需要 mybatis-spring
然后 mybatis-spring 依赖了 spring-jdbc,但是因为是一个 provied 级别的依赖,所以需要自行提供不会自动引入,所以就要自行加入

顺便一说,2023 年了,直接上 spring-boot 那一套吧,啥时候闲来无事想考古再试试自己整合吧

1.为什么要引入spring-jdbc?看这里:
https://zhidao.baidu.com/question/2271101858360577748.html
2.为什么要引入mybatis-spring?
引用官网的原文:
MyBatis-Spring 会帮助你将 MyBatis 代码无缝地整合到 Spring 中。它将允许 MyBatis 参与到 Spring 的事务管理之中,创建映射器 mapper 和 SqlSession 并注入到 bean 中,以及将 Mybatis 的异常转换为 Spring 的 DataAccessException。 最终,可以做到应用代码不依赖于 MyBatis,Spring 或 MyBatis-Spring。
3.使用druid的意义是什么?
能够重复利用数据库连接(有点类似线程池的部分意义),提高对请求的响应时间和服务器的性能,同时有监控统计的功能。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题