从武侠中的兵器看待数据访问工具——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数据库 ...
随机推荐
- flink统计根据账号每30秒 金额的平均值
package com.zetyun.streaming.flink; import org.apache.flink.api.common.functions.MapFunction;import ...
- LWIP network interface 网卡 初始化 以 STM32 为例子 后面会有 用 2G 或者4G 模块 用 PPP拨号的 形式 虚拟出网卡 所以先以 这个为 前提
LWIP network interface 网卡 初始化 以 STM32 为例子 后面会有 用 2G 或者4G 模块 用 PPP拨号的 形式 虚拟出网卡 所以先以 这个为 ...
- mac终端输入python默认打开python3
*** 1. 终端打开.bash_profile文件 ***open ~/.bash_profile *** 2. .bash_profile文件内容 ***# Setting PATH for Py ...
- android学习1:清晰详细android环境搭建,超简单
废话少说,今天是Android学习的开篇的博客,接下来将把自己学习android的各种问题和经历总结一下,其实之前已经自己学过半年了,但是因为开始时刚学的移动端开发还没有概念,当时总结工作又做的不好, ...
- Linux基础-2.目录文件的浏览、管理及维护
1.Linux文件系统的层次结构 1)了解Linux文件系统的树状结构: 在Linux或UNIX操作系统中,所有的文件和目录都被组织成一个以根节点开始的倒置树状结构 2)掌握目录的定义:目录相当于Wi ...
- python 实现查找某个字符在字符串中出现次数,并以字典形式输出
把字符串'aenabsascd'中的字符出现的次数统计出来,并以字典形式输出 方法一: def count_str(str): dic={} for i in str: dic[i]=str.coun ...
- Red Hat 7.5 Yum Replacement
This system is not registered with an entitlement server. You can use subscription-manager to regist ...
- Linux常用命令拾遗
查看端口对应的程序: netstat -nlap | grep 5004 输出: tcp 0 0 192.168.3.000:5004 192.118.201.00:50800 ESTABLISHED ...
- 三、spring成长之路——springIOC容器详解(上)
目录 一.springIOC 一.springIOC 控制反转和依赖注入: 简单的说就是将对象的创建,属性的的设置交给spring容器进行管理,而不再由用户自己创建,当用户需要使用该接口或者类的时 ...
- 使用css完成物流进度的样式
使用css完成物流进度的样式 效果: css样式: <style type="text/css"> ul li { list-style: none; } .packa ...