编程语言的数据库操作进阶——数据库框架

2021-05-27 15:21:00 浏览数 (54)

当我们第一次使用简单的数据库连接方式(比如 python 的 pymysql 或者 JDBC)后,会有一股莫名的成就感,感觉这种操作非常的  amazing,但是再往后就会觉得数据库连接的处理属实繁琐。为了将开发者从数据库操作的噩梦中解救出来,数据库框架诞生了。

故事的开始

程序员张三刚接触到 java 数据库连接(JDBC),他觉得有了 JDBC 之后他可以使用数据库的数据,而且封装好的 java 数据库驱动用起来不算复杂。一切都是那么美好,然而他不知道他的噩梦即将来临。

问题初现端倪

张三在写 JDBC 的时候因为对 SQL 的掌握不是那么熟练,导致数据库连接部分经常出现一些小的错误。不过好在他有个厉害的朋友李四可以帮他进行 SQL 的排错和优化,张三的开发之路还算顺利。

当需求增加时

由于项目的需求增加,对数据的读写操作也随之增加,张三的工作量也随之增加了很多。而且因为 SQL 掌握不好的原因,每次在写 JDBC 代码的时候都需要更多的时间来进行调试。

结局与分析

在一周的工作总结中,老板对张三相当不满。因为他的项目里面有一大部分都是 JDBC,而且很多地方有重复操作。因为把很多时间浪费在数据库操作上,张三项目的业务代码进展缓慢。

张三实在是冤,因为他不知道数据库框架的存在,而在 JDBC 上死磕,导致了上面的问题。那么,什么是数据库框架?数据库框架其实可以看成一个类似管家的存在,只要你需要数据,他就帮你进行数据库操作。比如 ORM 框架。ORM 框架通过对象关系模型实现对数据库的操作,利用对象与数据库之间的映射结构来自动生成 SQL。因为 SQL 是自动生成的,所以在使用该框架的时候甚至可以不用写 SQL(张三瞬间觉得自己干了一些本来可以不用干的活)。

使用了 ORM 框架后,张三不需要关心 SQL 的操作,也不用在意 SQL 的优化,业务进展速度直接翻了好几番。

常见的 ORM 框架

很多编程语言都有 ORM 框架。比如说 java 的 SSH 框架中的 Hibernate 框架,就是 ORM 框架。另外 python 的 beego 框架,Diango 框架(本身是 web 框架,内部使用了 ORM 框架),Ruby 语言的 Active Record 等等也都是 ORM框架。

另一种数据库框架

还有另一种数据库框架,虽然它不像 ORM 那样完全不需要写 SQL,但是它也能减少 JDBC 代码,比如 java 中的 MyBatis。它是一款持久层框架。通过简单的 XML 或者注解配置和映射原生信息,几乎避免了所有的 JDBC 代码和手动设置参数以及获取结果集。而且使用起来轻便灵活。因为可以自行定制 SQL 语句,所以在效率上比 ORM 框架更高。

小结

数据库框架的出现,让繁琐的数据库操作变得更加简洁,也让开发者无需花费过多的精力在 SQL 的编写和优化上。因为数据库操作繁琐的你确定不来一份?

数据库框架学习手册列表:

Hibernate学习

Mybatis学习

Django模型


1 人点赞