从武侠中的兵器看待数据访问工具——Hibernate Spring.Data Mybatis
《泪痕剑》第31集,卓爷大谈自己的兵器,我从中摘录,觉得非常受用。
“你错了,我们和武器之间的关系,就好像选择情人一样,不管是否擅长,都要用感情。
我少年时候用刀,青年时候仍用刀,不知道用过多少种刀。
十三岁从一个屠夫的肉案上偷了把屠刀,把当地鱼肉市井的恶霸斩于肉案之上,从此之后就不知道换过多少柄刀。
十四岁我用拆铁单刀,十五岁用纯钢仆刀,十六岁鬼头刀,
十八岁则以单刀换为双刀,用了一对灵便轻巧的鸳鸯蝴蝶刀,
二十岁则又双刀换为单刀,用了一背分量极重的金背砍山刀。
二十三岁的时候,我用的就是武林中最有气派的鱼鳞紫金刀。
但是到了二十六岁的时候,我用的刀却又从华丽变为平凡。
从一个人用刀的过程间,是不是也可以看出他刀法和心情的转变。

…
对剧中这段对白,我感触是颇多的。
vb delphi时代的oledb odbc jdbc。
Asp asp.net时代的ado ado.net。
从使用第一个orm工具——简单持久层(SPL)开始就不知道换过多少种数据访问工具。
Linq to sql, petapoco,hibernate,mybaits。
后来用单种数据访问转为两种数据访问工具并用,用的是hibernate和spring jdbctemplate配合。
(其实这里受了宫本武藏五轮书里提到的二天一流启发较多,无所不用其极)
而后又从两种数据访问工具改回用单种,用的是mybaits。
现在用的是从tk.mybatis通用mapper转为最新的spring-boot 集成mybatis-autoconfig。
从一个人用刀的过程间,是不是也可以看出他刀法和心情的转变。
从武侠中的兵器看待数据访问工具——Hibernate Spring.Data Mybatis的更多相关文章
- 【转】在Spring中基于JDBC进行数据访问时怎么控制超时
http://www.myexception.cn/database/1651797.html 在Spring中基于JDBC进行数据访问时如何控制超时 超时分类 超时根据作用域可做如下层级划分: Tr ...
- Spring.NET 中的 ADO.NET 数据访问的示例
Spring.NET 1.3.1 中提供了一个使用 AdoTemplate 的完整示例,包括使用泛型和使用非泛型技术进行数据访问,这个示例位于下载的压缩包中\Spring.NET-1.3.1\Spri ...
- Spring Boot中使用Spring-data-jpa让数据访问更简单、更优雅
在上一篇Spring中使用JdbcTemplate访问数据库中介绍了一种基本的数据访问方式,结合构建RESTful API和使用Thymeleaf模板引擎渲染Web视图的内容就已经可以完成App服务端 ...
- 在Spring中基于JDBC进行数据访问时如何控制超时
超时分类 超时根据作用域可做如下层级划分: Transaction Timeout > Statement Timeout > JDBC Driver Socket Timeout Tra ...
- opencv中Mat格式的数据访问.at
opencv3中图形存储基本为Mat格式,如果我们想获取像素点的灰度值或者RGB值,可以通过image.at<uchar>(i,j)的方式轻松获取. Mat类中的at方法对于获取图像矩阵某 ...
- 在android中如何查看sqlite数据表结构,以及data文件打不开问题
1.root你的手机 2.cmd进入DOS界面,并且cd 转换目录到AndroidSDK\platform-tools中 3.输入adb shell 4.输入su,进入root权限,此时$变为#,输入 ...
- 【hibernate spring data jpa】执行了save()方法 sql语句也执行了,但是数据并未插入数据库中
执行了save()方法 sql语句也执行了,但是数据并未插入数据库中 解决方法: 是因为执行了save()方法,也执行了sql语句,但是因为使用的是 @Transactional 注解,不是手动去提 ...
- [翻译]比较ADO.NET中的不同数据访问技术(Performance Comparison:Data Access Techniques)
Performance Comparison: Data Access Techniques Priya DhawanMicrosoft Developer Network January 2002 ...
- Oracle数据访问组件ODAC的安装方法
Oracle数据访问组件ODAC(Oracle Data Access Components)顾名思义就是用来访问Oracle数据库的小程序.我们可以编程调用这些组件来实现在没有安装Oracle数据库 ...
随机推荐
- 多线程简单案例 - join( ) -lock()
join() 在调用结束前,主线程不会结束 不加的话,主线程会在子线程结束前继续执行:加了join(),主线程会等待子线程结束后在继续执行下去 #python3 #main print number ...
- EF Core 2.0中如何手动映射数据库的视图为实体
由于Scaffold-DbContext指令目前还不支持自动映射数据库中的视图为实体,所以当我们想使用EF Core来读取数据库视图数据的时候,我们需要手动去做映射,本文介绍如何在EF Core中手动 ...
- 直接在apk中添加资源的研究
原文 http://blog.votzone.com/2018/05/12/apk-merge.html 之前接手过一个sdk的开发工作,在开发过程中有一个很重要的点就是尽量使用代码来创建控件,资源文 ...
- zabbix3.0通过yum安装笔记
zabbix3.0通过yum安装笔记 一.通过yum安装zabbix rpm -Uvh https://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix- ...
- CentOS 7紧急救援模式修改root用户密码的方法
最近无聊在网上搜索linux系统root用户密码破解方法,看来很多朋友的博文,同时也试了一下,但是感觉他们写的还是不是很清晰.简洁,因此自己就心血来潮写了这篇博文,提供一个比较清晰的思路给新手,如果有 ...
- jquery购物车添加功能
<html> <head> <meta charset="UTF-8"> <title></title> <scr ...
- transform动画的一个3D的正方体盒子
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- NodeJs 实现简单WebSocket 即时通讯
至于服务器语言选择nodeJs,一是因为自己是做前端的,对javascript比较熟悉,相比于其他后台语言,自然会更喜欢nodeJs了, 二是NodeJs本身事件驱动的方式很擅长与大量客户端保持高并发 ...
- 记遇到的一个php坑
最近对项目的一个高访问量业务接口进行功能扩展,上线一段时间后,服务器cpu load突然飙升,并出现大量502.一开始找运维查看日志,并没有看是什么问题,后来发现别的部门项目之前也遇到类似的问题,原来 ...
- Leetcode---栈系列刷题(python3实现)----#496 下一个更大元素I
给定两个没有重复元素的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集.找到 nums1 中每个元素在 nums2 中的下一个比其大的值. nums1 中数字 x 的下一个更 ...