ZooKeeper 开发随笔
基于 ZooKeeper 实现分布式锁
- 由于下面使用了 Curator 客户端,因此需要引入相应的依赖
1 | <dependency> |

1 | <dependency> |
MyBatis 的四大对象包括:Executor、StatementHandler、ParameterHandler、ResultSetHandler。四大对象的工作职责如下:
Executor(执行器):负责整个 SQL 执行过程的总体控制StatementHandler(语句处理器):负责和 JDBC 层交互,包括预编译 SQL 语句和执行 SQL 语句,以及调用 ParameterHandler 设置参数ParameterHandler(参数处理器):负责设置预编译参数ResultSetHandler(结果集处理器):负责将 JDBC 查询结果映射到 JavaBean 对象MyBatis 内置了一个强大的事务性查询缓存机制,它可以非常方便地配置和定制。MyBatis 中默认定义了两级缓存:
SqlSession 级别的缓存,也称为本地缓存)开启namespace 级别的缓存Cache,可以通过实现 Cache 接口来自定义二级缓存本文的所有案例代码,若没有特别说明,默认都基于以下的表结构和 JavaBean 类编写,可以直接从 GitHub 下载对应章节 mybatis-lesson-15。
1 | CREATE TABLE `t_employee` ( |
在 Java 中有四种引用,分别是:强引用、软引用、弱引用、虚引用。伴随这四种引用一起使用的,还有 WeakHashMap、ReferenceQueue(引用队列)等。
本节所需的案例代码,可以直接从 GitHub 下载对应章节 mybatis-lesson-7。
select 标签用于定义查询操作,拥有以下常用属性:
id:唯一标识符,用来引用这条语句,需要与接口的方法名一致。parameterType:参数类型,可以不传递,MyBatis 会根据 TypeHandler 自动推断参数类型。resultType:返回值类型,可以是类型别名或者全限定类名。如果返回结果是集合,则其值是集合中元素的类型。resultType 不能和 resultMap 同时使用。提示
select 标签还拥有很多其他属性,详细说明请点击这里查看。
标配指令都以 - 开头,这些参数是不同版本的 HotSpot 虚拟机都支持的。
| 参数 | 参数说明 | 使用例子 |
|---|---|---|
| -version | 查看版本号 | java -version |
| -help | 查看命令帮助手册 | java -help |
| -showversion | 查看版本信息 | java -showversion |
MyBatis 的真正强大在于它的语句映射,这是它的魔力所在。由于它的异常强大,映射器的 XML 文件就显得相对简单。如果拿它跟具有相同功能的 JDBC 代码进行对比,会立即发现省掉了将近 95% 的代码。MyBatis 致力于减少使用成本,让用户能更专注于 SQL 代码。SQL 映射文件只有很少的几个顶级标签(按照应被定义的顺序列出):
cache – 该命名空间的缓存配置cache-ref – 引用其它命名空间的缓存配置resultMap – 描述如何从数据库结果集中加载对象,是最复杂也是最强大的标签parameterMap – 老式风格的参数映射,此标签已被废弃,并可能在将来被移除,请使用行内参数映射sql – 可被其它语句引用的可重用语句块insert – 映射插入语句update – 映射更新语句delete – 映射删除语句select – 映射查询语句