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

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.

主站蜘蛛池模板: 辛集市| 舞阳县| 神池县| 增城市| 泸西县| 广南县| 福泉市| 东乌珠穆沁旗| 云梦县| 霍邱县| 奉贤区| 松原市| 徐汇区| 昔阳县| 剑川县| 玉屏| 神木县| 乐昌市| 伊春市| 罗江县| 体育| 新宁县| 九寨沟县| 奈曼旗| 寿阳县| 宁河县| 耿马| 尼勒克县| 四平市| 扬中市| 高邮市| 巨鹿县| 吉林省| 乌审旗| 多伦县| 南投县| 施甸县| 建始县| 韩城市| 察哈| 会理县|