摘要: 想要整合mybatis和spring,那么我们首先要知道这两个框架是干嘛的,对于mybatis我们前面几篇博客已经有了很详细的介绍,我们通过加载mybatis-configuration.xml 文件来产生SqlSessionFactory,然后通过SqlSessionFactory去产生sqlSe 阅读全文
posted @ 2017-08-29 21:27 奥特快啦 阅读(253) 评论(0) 推荐(0)
摘要: 上一章节,我们讲解了通过mybatis的懒加载来提高查询效率,那么除了懒加载,还有什么方法能提高查询效率呢?这就是我们本章讲的缓存。 本篇源码下载链接:http://pan.baidu.com/s/1eRHTsIm 密码:a5wn mybatis 为我们提供了一级缓存和二级缓存,可以通过下图来理解: 阅读全文
posted @ 2017-08-29 21:26 奥特快啦 阅读(251) 评论(0) 推荐(0)
摘要: 通过前面的学习,在实际开发中,我们基本上能对mybatis应用自如了,但是我们发现了一个问题,所有操作都是围绕着po类,xxxMapper.xml文件,xxxMapper接口等文件来进行的。如果实际开发中数据库的表特别多,那么我们需要手动去写每一张表的po类,xxxMapper.xml,xxxMap 阅读全文
posted @ 2017-08-29 21:26 奥特快啦 阅读(251) 评论(0) 推荐(0)
摘要: 本章我们讲如何通过懒加载来提高mybatis的查询效率。 本章所有代码:http://pan.baidu.com/s/1o8p2Drs 密码:trd6 1、需求:查询订单信息,有时候需要关联查出用户信息。 第一种方法:我们直接关联查询出所有订单和用户的信息 1 select * from order 阅读全文
posted @ 2017-08-29 21:25 奥特快啦 阅读(389) 评论(0) 推荐(0)
摘要: 通过 mapper 接口加载映射文件,这对于后面 ssm三大框架 的整合是非常重要的。那么什么是通过 mapper 接口加载映射文件呢? 我们首先看以前的做法,在全局配置文件 mybatis-configuration.xml 通过 <mappers> 标签来加载映射文件,那么如果我们项目足够大,有 阅读全文
posted @ 2017-08-29 21:22 奥特快啦 阅读(559) 评论(0) 推荐(0)
摘要: 前面几篇博客我们用mybatis能对单表进行增删改查操作了,也能用动态SQL书写比较复杂的sql语句。但是在实际开发中,我们做项目不可能只是单表操作,往往会涉及到多张表之间的关联操作。那么我们如何用 mybatis 处理多表之间的关联操作呢?请看本篇博客详解。 本篇详细代码:http://pan.b 阅读全文
posted @ 2017-08-29 21:22 奥特快啦 阅读(785) 评论(0) 推荐(0)
摘要: 前面几篇博客我们通过实例讲解了用mybatis对一张表进行的CRUD操作,但是我们发现写的 SQL 语句都比较简单,如果有比较复杂的业务,我们需要写复杂的 SQL 语句,往往需要拼接,而拼接 SQL ,稍微不注意,由于引号,空格等缺失可能都会导致错误。 那么怎么去解决这个问题呢?这就是本篇所讲的使用 阅读全文
posted @ 2017-08-29 21:21 奥特快啦 阅读(285) 评论(0) 推荐(0)
摘要: 上一篇博客我们介绍了mybatis的增删改查入门实例,我们发现在 mybatis-configuration.xml 的配置文件中,对数据库的配置都是硬编码在这个xml文件中,如下图,那么我们如何改进这个写法呢? 1、我们将 数据库的配置语句写在 db.properties 文件中 1 2 3 4 阅读全文
posted @ 2017-08-29 21:20 奥特快啦 阅读(2529) 评论(0) 推荐(0)
摘要: 1、创建MySQL数据库:mybatisDemo和表:user 详情参考:mybatis 详解(二) 入门实例(基于XML) 一致 2、建立一个Java工程,并导入相应的jar包,具体目录如下 详情参考:mybatis 详解(二) 入门实例(基于XML) 一致 3、在 MyBatisTest 工程中 阅读全文
posted @ 2017-08-29 21:19 奥特快啦 阅读(355) 评论(0) 推荐(0)
摘要: 通过上一小节,我们对 mybatis有了一个大致的了解,下面我们通过一个入门实例来对mybatis有更近一步的了解。 我们用 mybatis 来对 user 表进行增删改查操作。 ps:本篇博客源代码链接:http://pan.baidu.com/s/1eSEfc8i 密码:j480 1、创建MyS 阅读全文
posted @ 2017-08-29 21:18 奥特快啦 阅读(232) 评论(0) 推荐(0)
摘要: 1、什么是MyBatis? MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。 iBATIS一词来源于“interne 阅读全文
posted @ 2017-08-29 21:17 奥特快啦 阅读(264) 评论(0) 推荐(0)
摘要: 一个运行时的Java虚拟机实例的天职是:负责运行一个java程序。当启动一个Java程序时,一个虚拟机实例也就诞生了。当该程序关闭退出,这个虚拟机实例也就随之消亡。如果同一台计算机上同时运行三个Java程序,将得到三个Java虚拟机实例。每个Java程序都运行于它自己的Java虚拟机实例中。 Jav 阅读全文
posted @ 2017-08-29 21:15 奥特快啦 阅读(583) 评论(0) 推荐(0)
摘要: 在阎宏博士的《JAVA与模式》一书中开头是这样描述调停者(Mediator)模式的: 调停者模式是对象的行为模式。调停者模式包装了一系列对象相互作用的方式,使得这些对象不必相互明显引用。从而使它们可以较松散地耦合。当这些对象中的某些对象之间的相互作用发生改变时,不会立即影响到其他的一些对象之间的相互 阅读全文
posted @ 2017-08-29 21:14 奥特快啦 阅读(423) 评论(0) 推荐(0)
摘要: 在阎宏博士的《JAVA与模式》一书中开头是这样描述访问者(Visitor)模式的: 访问者模式是对象的行为模式。访问者模式的目的是封装一些施加于某种数据结构元素之上的操作。一旦这些操作需要修改的话,接受这个操作的数据结构则可以保持不变。 分派的概念 变量被声明时的类型叫做变量的静态类型(Static 阅读全文
posted @ 2017-08-29 21:13 奥特快啦 阅读(342) 评论(0) 推荐(0)
摘要: 在阎宏博士的《JAVA与模式》一书中开头是这样描述解释器(Interpreter)模式的: 解释器模式是类的行为模式。给定一个语言之后,解释器模式可以定义出其文法的一种表示,并同时提供一个解释器。客户端可以使用这个解释器来解释这个语言中的句子。 解释器模式的结构 下面就以一个示意性的系统为例,讨论解 阅读全文
posted @ 2017-08-29 21:13 奥特快啦 阅读(238) 评论(0) 推荐(0)
摘要: 在阎宏博士的《JAVA与模式》一书中开头是这样描述状态(State)模式的: 状态模式,又称状态对象模式(Pattern of Objects for States),状态模式是对象的行为模式。 状态模式允许一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类一样。 状态模式的 阅读全文
posted @ 2017-08-29 21:12 奥特快啦 阅读(272) 评论(0) 推荐(0)
摘要: 在阎宏博士的《JAVA与模式》一书中开头是这样描述备忘录(Memento)模式的: 备忘录模式又叫做快照模式(Snapshot Pattern)或Token模式,是对象的行为模式。 备忘录对象是一个用来存储另外一个对象内部状态的快照的对象。备忘录模式的用意是在不破坏封装的条件下,将一个对象的状态捕捉 阅读全文
posted @ 2017-08-29 21:11 奥特快啦 阅读(212) 评论(0) 推荐(0)
摘要: 在阎宏博士的《JAVA与模式》一书中开头是这样描述责任链(Chain of Responsibility)模式的: 责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不 阅读全文
posted @ 2017-08-29 21:10 奥特快啦 阅读(409) 评论(0) 推荐(0)
摘要: 在阎宏博士的《JAVA与模式》一书中开头是这样描述命令(Command)模式的: 命令模式属于对象的行为模式。命令模式又称为行动(Action)模式或交易(Transaction)模式。 命令模式把一个请求或者操作封装到一个对象中。命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求 阅读全文
posted @ 2017-08-29 21:10 奥特快啦 阅读(276) 评论(0) 推荐(0)
摘要: 在阎宏博士的《JAVA与模式》一书中开头是这样描述迭代子(Iterator)模式的: 迭代子模式又叫游标(Cursor)模式,是对象的行为模式。迭代子模式可以顺序地访问一个聚集中的元素而不必暴露聚集的内部表象(internal representation)。 聚集和JAVA聚集 多个对象聚在一起形 阅读全文
posted @ 2017-08-29 21:09 奥特快啦 阅读(618) 评论(0) 推荐(0)
摘要: 在阎宏博士的《JAVA与模式》一书中开头是这样描述观察者(Observer)模式的: 观察者模式是对象的行为模式,又叫发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。 阅读全文
posted @ 2017-08-29 21:08 奥特快啦 阅读(222) 评论(0) 推荐(0)
摘要: 在阎宏博士的《JAVA与模式》一书中开头是这样描述模板方法(Template Method)模式的: 模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑 阅读全文
posted @ 2017-08-29 21:06 奥特快啦 阅读(200) 评论(0) 推荐(0)
摘要: 在阎宏博士的《JAVA与模式》一书中开头是这样描述策略(Strategy)模式的: 策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。 策略模式的结构 策略模式是对算法的包装, 阅读全文
posted @ 2017-08-29 21:05 奥特快啦 阅读(240) 评论(0) 推荐(0)
摘要: 在阎宏博士的《JAVA与模式》一书中开头是这样描述不变(Immutable)模式的: 一个对象的状态在对象被创建之后就不再变化,这就是所谓的不变模式。 不变模式的结构 不变模式可增强对象的强壮型(robustness)。不变模式允许多个对象共享某一个对象,降低了对该对象进行并发访问时的同步化开销。如 阅读全文
posted @ 2017-08-29 21:04 奥特快啦 阅读(138) 评论(0) 推荐(0)
摘要: 在阎宏博士的《JAVA与模式》一书中开头是这样描述桥梁(Bridge)模式的: 桥梁模式是对象的结构模式。又称为柄体(Handle and Body)模式或接口(Interface)模式。桥梁模式的用意是“将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独 阅读全文
posted @ 2017-08-29 21:03 奥特快啦 阅读(282) 评论(0) 推荐(0)
摘要: 在阎宏博士的《JAVA与模式》一书中开头是这样描述门面(Facade)模式的: 门面模式是对象的结构模式,外部与一个子系统的通信必须通过一个统一的门面对象进行。门面模式提供一个高层次的接口,使得子系统更易于使用。 医院的例子 现代的软件系统都是比较复杂的,设计师处理复杂系统的一个常见方法便是将其“分 阅读全文
posted @ 2017-08-29 21:02 奥特快啦 阅读(311) 评论(0) 推荐(0)
摘要: 在阎宏博士的《JAVA与模式》一书中开头是这样描述享元(Flyweight)模式的: Flyweight在拳击比赛中指最轻量级,即“蝇量级”或“雨量级”,这里选择使用“享元模式”的意译,是因为这样更能反映模式的用意。享元模式是对象的结构模式。享元模式以共享的方式高效地支持大量的细粒度对象。 Java 阅读全文
posted @ 2017-08-29 21:01 奥特快啦 阅读(177) 评论(0) 推荐(0)
摘要: 在阎宏博士的《JAVA与模式》一书中开头是这样描述代理(Proxy)模式的: 代理模式是对象的结构模式。代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。 代理模式的结构 所谓代理,就是一个人或者机构代表另一个人或者机构采取行动。在一些情况下,一个客户不想或者不能够直接引用一个对 阅读全文
posted @ 2017-08-29 21:00 奥特快啦 阅读(245) 评论(0) 推荐(0)
摘要: 在阎宏博士的《JAVA与模式》一书中开头是这样描述装饰(Decorator)模式的: 装饰模式又名包装(Wrapper)模式。装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。 装饰模式的结构 装饰模式以对客户透明的方式动态地给一个对象附加上更多的责任。换言之,客户端并不会觉得对 阅读全文
posted @ 2017-08-29 20:59 奥特快啦 阅读(196) 评论(0) 推荐(0)
摘要: 在阎宏博士的《JAVA与模式》一书中开头是这样描述合成(Composite)模式的: 合成模式属于对象的结构模式,有时又叫做“部分——整体”模式。合成模式将对象组织到树结构中,可以用来描述整体与部分的关系。合成模式可以使客户端将单纯元素与复合元素同等看待。 合成模式 合成模式把部分和整体的关系用树结 阅读全文
posted @ 2017-08-29 20:58 奥特快啦 阅读(783) 评论(0) 推荐(0)
摘要: 在阎宏博士的《JAVA与模式》一书中开头是这样描述适配器(Adapter)模式的: 适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。 适配器模式的用途 用电器做例子,笔记本电脑的插头一般都是三相的,即除了阳极、阴极外,还有一个地极 阅读全文
posted @ 2017-08-29 20:57 奥特快啦 阅读(220) 评论(0) 推荐(0)
摘要: 在阎宏博士的《JAVA与模式》一书中开头是这样描述原型(Prototype)模式的: 原型模式属于对象的创建模式。通过给出一个原型对象来指明所有创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象。这就是选型模式的用意。 原型模式的结构 原型模式要求对象实现一个可以“克隆”自身的接口 阅读全文
posted @ 2017-08-29 20:56 奥特快啦 阅读(348) 评论(0) 推荐(0)
摘要: 在阎宏博士的《JAVA与模式》一书中开头是这样描述建造(Builder)模式的: 建造模式是对象的创建模式。建造模式可以将一个产品的内部表象(internal representation)与产品的生产过程分割开来,从而可以使一个建造过程生成具有不同的内部表象的产品对象。 产品的内部表象 一个产品常 阅读全文
posted @ 2017-08-29 20:54 奥特快啦 阅读(287) 评论(0) 推荐(0)
摘要: 在阎宏博士的《JAVA与模式》一书中开头是这样描述单例模式的: 作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。 单例模式的结构 单例模式的特点: 单例类只能有一个实例。 单例类必须自己创建自己的唯一实例。 单例类必须给所有其他对象提供 阅读全文
posted @ 2017-08-29 20:53 奥特快啦 阅读(164) 评论(0) 推荐(0)
摘要: 场景问题 举个生活中常见的例子——组装电脑,我们在组装电脑的时候,通常需要选择一系列的配件,比如CPU、硬盘、内存、主板、电源、机箱等。为讨论使用简单点,只考虑选择CPU和主板的问题。 事实上,在选择CPU的时候,面临一系列的问题,比如品牌、型号、针脚数目、主频等问题,只有把这些问题都确定下来,才能 阅读全文
posted @ 2017-08-29 20:52 奥特快啦 阅读(214) 评论(0) 推荐(0)
摘要: 在阎宏博士的《JAVA与模式》一书中开头是这样描述工厂方法模式的: 工厂方法模式是类的创建模式,又叫做虚拟构造子(Virtual Constructor)模式或者多态性工厂(Polymorphic Factory)模式。 工厂方法模式的用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中 阅读全文
posted @ 2017-08-29 20:51 奥特快啦 阅读(225) 评论(0) 推荐(0)
摘要: 在阎宏博士的《JAVA与模式》一书中开头是这样描述简单工厂模式的:简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。 那么简单工厂模式是在什么场景下使用呢,下面就以本人的理解举例说明: 就拿登录 阅读全文
posted @ 2017-08-29 20:50 奥特快啦 阅读(186) 评论(0) 推荐(0)