从武侠中的兵器看待数据访问工具——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数据库 ...
随机推荐
- Linux内存管理-高端内存(一)
高端内存是指物理地址大于 896M 的内存.对于这样的内存,无法在“内核直接映射空间”进行映射. 为什么? 因为“内核直接映射空间”最多只能从 3G 到 4G,只能直接映射 1G 物理内存,对于大于 ...
- linux内存管理---物理地址、线性地址、虚拟地址、逻辑地址之间的转换
linux内存管理---虚拟地址.逻辑地址.线性地址.物理地址的区别(一) 这篇文章中介绍了四个名词的概念,下面针对四个地址的转换进行分析 CPU将一个虚拟内存空间中的地址转换为物理地址,需要进行两步 ...
- Go语言之旅:基本类型
原文地址:https://learn-linux.readthedocs.io 欢迎关注我们的公众号:小菜学编程 (coding-fan) Go 内置了以下基本类型: 布尔 bool 字符串 stri ...
- 创建 个人 pod
创建一个自己的 pod 大致需要以下步骤 创建git repository 编辑.podspec 创建LICENSE(许可证/授权)文件 标记 tag 验证 注册CocoaPods 发布 搜索验证 1 ...
- iOS:UITableView相关(18-10-20更)
UITableView用得较多,遇到的情况也较多,单独记录一篇. 一.零散的技巧 二.取cell 三.cell高度 四.导航栏.TableView常见问题相关 五.自定义左滑删除按钮图片 六.仅做了解 ...
- 常用 超全局数组$_server
$_SERVER 是一个包含了诸如头信息(header).路径(path).以及脚本位置(script locations)等等信息的数组.这个数组中的项目由 Web 服务器创建.不能保证每个服务器都 ...
- jqGrid 分页
这两天一直在搞jqGrid分页,焦头烂额,不过还是有点收获的(主要是后台分页): jqGrid分页可以分为两种,远程数据(服务器数据)分页和本地数据分页, 先看远程数据分页: $(&q ...
- javascript json对象操作(基本增删改查)
/** * Json对象操作,增删改查 * * @author lellansin * @blog www.lellansin.com * @version 0.1 * * 解决一些常见的问题 * g ...
- 2.Hadoop集群安装进阶
Hadoop进阶 1.配置SSH免密 (1)修改slaves文件 切换到master机器,本节操作全在master进行. 进入/usr/hadoop/etc/hadoop目录下,找到slaves文件, ...
- 树莓派3B+学习笔记:12、安装FireFox浏览器
1.在终端中输入 sudo apt-get install iceweasel 2.安装完成后菜单中会自动生成快捷方式 什么是 iceweasel? Iceweasel 是 Firefox(火狐浏览器 ...