官术网_书友最值得收藏!

  • Scala for Data Science
  • Pascal Bugnion
  • 200字
  • 2021-07-23 14:33:10

Functional wrappers for JDBC

We now have a basic overview of the tools afforded by JDBC. All the objects that we have interacted with so far feel somewhat clunky and out of place in Scala. They do not encourage a functional style of programming.

Of course, elegance is not necessarily a goal in itself (or, at least, you will probably struggle to convince your CEO that he should delay the launch of a product because the code lacks elegance). However, it is usually a symptom: either the code is not extensible or too tightly coupled, or it is easy to introduce bugs. The latter is particularly the case for JDBC. Forgot to check wasNull? That will come back to bite you. Forgot to close your connections? You'll get an "out of memory exception" (hopefully not in production).

In the next sections, we will look at patterns that we can use to wrap JDBC types in order to mitigate many of these risks. The patterns that we introduce here are used very commonly in Scala libraries and applications. Thus, besides writing robust classes to interact with JDBC, learning about these patterns will, I hope, give you greater understanding of Scala programming.

主站蜘蛛池模板: 玛曲县| 沙坪坝区| 宜宾县| 郁南县| 沿河| 丹棱县| 敖汉旗| 怀集县| 沛县| 垦利县| 博罗县| 蒲江县| 彝良县| 拉萨市| 庄河市| 舒兰市| 郑州市| 扬中市| 宜黄县| 惠州市| 泌阳县| 招远市| 辽宁省| 桦甸市| 金塔县| 都匀市| 上林县| 始兴县| 曲阜市| 东乌珠穆沁旗| 辉县市| 乌拉特中旗| 峨边| 临武县| 奉贤区| 吉首市| 临洮县| 阿鲁科尔沁旗| 红原县| 潢川县| 罗城|