龙空技术网

JAVA中直接用Jdbc就能操作数据库了,为什么还要用spring框架?

璃笙自外 806

前言:

现时小伙伴们对“java开发用什么数据库”大体比较关心,咱们都想要分析一些“java开发用什么数据库”的相关资讯。那么小编也在网上网罗了一些对于“java开发用什么数据库””的相关知识,希望看官们能喜欢,姐妹们一起来学习一下吧!

随着业务的扩展,你就会发现jdbc建立一个连接居然要几百毫秒,而执行一个普通的SQL仅仅需要几毫秒。这么重量级的资源建立了就释放了不合适,得找个容器存起来,谁要就来取,不用了就还给容器,毕竟容器里的借取比建立一个连接要快得多。这样的叫作数据连接池。

第一:首先要明白Spring这个框架不仅仅是为了操作数据库的,所以不能与Jdbc相提并论

第二:但凡框架都具有高度抽象的特性,都会对用户隐藏大量实现细节,已经重复的工作。像Spring最为重要的就是其IOC以及AOP等思想的应用

明确了上面的两点,我们来看下使用Spring来访问数据库与Jdbc访问数据孰优孰劣。

我们知道,使用Jdbc访问数据库需要以下几步

加载驱动创建数据库连接创建sql语句并执行处理执行结果释放资源

以上只是执行了个简单的查询,如果再加上事务的话就更复杂了,因为要回滚什么的。而很不幸的是你每次执行数据库操作都要把上面的步骤来一次,而你真正需要处理的只有第三第其他的都是重复的工作。

1、jdbc写查询返回resultset是不释放连接的,操作不好就容易出现死锁。mybatis框架的查询是自动释放连接的

2、jdbc防止SQL注入是比较麻烦的,mybatis防止SQL注入写起来比较简单的

3、jdbc写SQL会把SQL写到java代码中,如果在生产环境里,无法快速修改SQL,而mybatis的SQL在xml文件中,生产环境中可以修改xml后,重启即生效。

4、mybatis有默认缓存机制,对查询进行了缓存,jdbc缓存你还得自己实现。

5、最显而易见的益处是mybatis连接数据库编码更快。

使用框架的好处肯定是有很多,否则就没必要做框架了,好处是避开前人趟过的坑,在后人看使用框架也许很麻烦,但是那只是表象,如果自己用jdbc连接数据库,会出现很多不好排查的奇葩问题。TG:li9047

标签: #java开发用什么数据库