12 2017 档案
摘要:一、非侵入式编程 Spring框架的API不会再业务逻辑上出现,即业务逻辑是POJO(Plain Ordinary Java Object)。由于业务逻辑中没有Spring的API,所以业务逻辑可以从Spring框架快速的移植到其他框架。 二、容器 Spring作为一个容器,可以管理对象的生命周期、
阅读全文
摘要:一、注解式开发 mybatis的注解主要替换映射文件。 二、基础语法 注解首字母大写,因为注解与类、接口是同一级别的(类同一层级的:类,接口,注解,枚举)。一个注解,后台对应着一个@interface。 在同一语法单元上,同一注解只能使用一次。 三、示例: 1 import java.util.Li
阅读全文
摘要:一、Ehcache二级缓存的开启 二、使二级缓存不刷新
阅读全文
摘要:一、查询缓存 查询缓存的使用,主要是为了提高查询访问速度。将用户对同一数据的重复查询过程简单化,不在每次均从数据库中查询获取结果数据,从而提高访问速度。 MyBatis的查询缓存机制,根据缓存区的作用域与生命周期,可划分为两种:一级缓存和二级缓存。 MyBatis查询缓存的作用域是根据映射文件map
阅读全文
摘要:一、延迟加载 MyBatis中的延迟加载,也称为懒加载,是指在进行关联查询时, 按照设置延迟规则推迟对关联对象的select查询。延迟加载可以有效的减少数据库压力。 二、关联对象的加载时机 MyBatis根据对关联对象查询的select语句的执行时机,分为三种类型:直接加载、侵入式延迟加载、深度延迟
阅读全文
摘要:一、关联查询 当查询的内容涉及到具有关联关系的多个表时,就需要使用关联查询。根据表与表间的关联关系的不同。关联查询分为四种: 二、一对多关联查询 1、通过多表连接查询方式实现 定义实体类及DB表 一对一关联查询,其解决方案与多对一解决方案是相同的。 一对多关联查询:在查询一方对象的时候,同时将其所关
阅读全文
摘要:一、动态SQL 动态SQL,主要用于解决查询条件不确定的情况:在程序运行期间,根据提交的查询条件进行查询。 动态SQL,即通过MyBatis提供的各种标签对条件作出判断以实现动态拼接SQL语句。 二、使用动态SQL原因 提供的查询条件不同,执行的SQL语句不同。若将每种可能的情况均逐一列出,就将出现
阅读全文
摘要:一、多查询条件无法整体接收问题的解决 在实际工作中,表单中所给出的查询条件有时是无法将其封装成一个对象,即查询方法只能携带多个参数,而不能携带将这多个参数进行封装的一个对象。对于这个问题,有两种解决方案:(1)根据Map查询;(2)使用索引号。 二、根据Map查询 1、修改Dao 1 import
阅读全文
摘要:一、项目结构 二、代码实现 1 import java.util.List; 2 import java.util.Map; 3 4 import com.jmu.bean.Student; 5 6 public interface IStudentDao { 7 void insertStuden
阅读全文
摘要:一、项目结构 二、代码实现 <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapp
阅读全文
摘要:一、模板方法定义 定义一个操作中的某种算法的框架,而将一些步骤延迟到子类中。模板方法模式使得子类在不改变一个算法结构的前提下,对这些步骤进行个性化定义。 二、模板方法程序构成 在模板方法设计模式中,存在一个父类,其中包括两类方法:模板方法和步骤方法。 模板方法,即实现某种算法的方法步骤。而这些步骤都
阅读全文
摘要:一、适配器模式 在计算机编程中,适配器模式(有时候也称包装样式或者包装)将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。 二、适用情况 使用的前提: 1.接口中规定了所有要实现的方法 2.但一个要实现此接口的
阅读全文
摘要:一、代理模式的介绍 代理模式,是指对一个对象提供一种代理以控制对这个对象的访问。使用代理对象,是为了在不修改目标对象的基础上,增强主业务逻辑。 客户类真正想访问的是目标对象,但客户类可以访问的对象是代理对象。可以以“代理律师”来理解“代理模式”。 二、包的命名 JAVA中包的命名一般分为4-5层:
阅读全文