摘要: 在这之前我们知道了MyBatis为我们提供了三种级联:一对一关系(assocation)、一对多关系(collection)、鉴别器(discriminator)。在最后一个鉴别器例子中,看到了当层级关系比较负责时,我们似乎已经难以应对和维护各种级联关系,在对数据库进行查询是否应用MyBatis为我 阅读全文
posted @ 2016-11-06 20:41 OKevin 阅读(5922) 评论(0) 推荐(0) 编辑
摘要: 鉴别器(discriminator)是MyBatis为我们提供的第三个级联也是最后一个。基于之前两篇级联中的场景,现增加学生们去体检,但男女体检项目不一样,我们把男女体检表做成两张表,当然我想也可以设计为一张表,只有女生的项目男生不填就行了,为了讲解鉴别器就把男女体检表分开。鉴别器的作用在这里就是根 阅读全文
posted @ 2016-11-06 19:27 OKevin 阅读(3915) 评论(2) 推荐(0) 编辑
摘要: 上次我们讲到了MyBatis的一对一关系的表示,简单回顾一下一对一关系就是一个学生只有一个学生证。那么什么是一对多关系呢?一个学生有多个课程这就是一对多的关系。我们结合上一章中的学生和学生证,在此基础上新增一个课程表和课程成绩表。学生对应课程表是一对多的关系,在学生确定的情况下课程表对应课程成绩是一 阅读全文
posted @ 2016-11-05 22:24 OKevin 阅读(11834) 评论(2) 推荐(0) 编辑
摘要: 在学数据库概论的时候会听到这么几个词:数据库的关系分为一对一、一对多、多对多。对于在学校里学的知识已经忘得差不多了,在这里简单的提一下数据库的关系。此篇是介绍MyBatis是如何实现数据库中一对一关系的,我们就暂且先介绍一对一关系。所谓一对一关系其实在生活中很常见,比如一个学生有且只对应一个属于他的 阅读全文
posted @ 2016-11-03 23:41 OKevin 阅读(3872) 评论(0) 推荐(0) 编辑
摘要: 和MyBatis系列不同的是,在正式开始Spring入门时,我们先来了解两个关于Spring核心的概念,IoC(Inverse of Control)控制反转和AOP()面向切面编程。 1.IoC(Inversion of Control)控制反转 什么是控制反转呢?可以这么通俗的来解释,我们通常写 阅读全文
posted @ 2016-10-30 21:42 OKevin 阅读(817) 评论(1) 推荐(0) 编辑
摘要: 可以说每个MyBatis都是以一个SqlSessionFactory实例为中心的。SqlSessionFactory实例可以通过SqlSessionFactoryBuilder来构建。一是可以通过XML配置文件的方式来构建SqlSessionFactory,二是可以通过Java API的方式来构建。 阅读全文
posted @ 2016-10-26 23:35 OKevin 阅读(21587) 评论(4) 推荐(7) 编辑
摘要: MyBatis的Configuration配置中有一个Plugin配置,根据其名可以解释为“插件”,这个插件实质可以理解为“拦截器”。“拦截器”这个名词不陌生,在众多框架中均有“拦截器”。这个Plugin有什么用呢?活着说拦截器有什么用呢?可以想想拦截器是怎么实现的。Plugin用到了Java中很重 阅读全文
posted @ 2016-10-25 23:37 OKevin 阅读(10737) 评论(1) 推荐(0) 编辑
摘要: 关于在MyBatis中的ObjectFactory有什么用,在官方文档中有这样的描述(大多数网上的博客都是直接引用这一描述):MyBatis 每次创建结果对象的新实例时,它都会使用一个对象工厂(ObjectFactory)实例来完成。 默认的对象工厂需要做的仅仅是实例化目标类,要么通过默认构造方法, 阅读全文
posted @ 2016-10-25 00:29 OKevin 阅读(6982) 评论(0) 推荐(2) 编辑
摘要: 在大学写web应用的时候经常会遇到这么个问题,当我要插入一条数据,某个数据是Date类型,数据库中却是VARCHAR类型,这个时候可能会傻乎乎的先把这个数据自己手动转换成String类型再插入到数据库中,其实大可不必。MyBatis为我们提供了更好的方法即是TypeHandler来应对Java和jd 阅读全文
posted @ 2016-10-23 21:55 OKevin 阅读(22905) 评论(7) 推荐(1) 编辑
摘要: Druid是阿里巴巴的一个数据库连接池开源框架,准确来说它不仅仅包括数据库连接池这么简单,它还提供强大的监控和扩展功能。本文仅仅是在不采用Spring框架对Druid的窥探,采用目前最新版本druid1.0.26 github地址:https://github.com/alibaba/druid。 阅读全文
posted @ 2016-10-21 23:19 OKevin 阅读(17207) 评论(0) 推荐(2) 编辑