12 2017 档案
发表于 2017-12-24 13:00阅读:106评论:0推荐:0
摘要:一、Dao层开发的方式以前dao层开发比较繁琐,写了接口还得写实现类,实际上用了Mybatis之后写实现类非常重复,都是重复的代码。那么此时改成另外一种简单形式。 遵循以下四个原则(名称、形参、返回值、命名空间):1.Mapper接口方法名和Mapper.xml中定义...
阅读全文 »
发表于 2017-12-24 12:58阅读:176评论:0推荐:0
摘要:一、Mybatis介绍MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动、创建connection、创建statement、手动设置参数、结果集检索等jdbc繁杂的过程代码...
阅读全文 »
发表于 2017-12-24 11:56阅读:189评论:0推荐:0
摘要:一、Mybatis 中$与#的区别 #相当于对数据 加上 双引号,$相当于直接显示数据1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "11...
阅读全文 »
发表于 2017-12-23 15:42阅读:348评论:0推荐:0
摘要:一直觉得自己SQL不熟练,于是开始刷SQL题,发现了不懂SQL中ON和WHERE的区别,搜索结果网上几十几十篇的博客互相抄 ,关键抄得还很迷惑。好在最后还是弄懂了。1.首先on是用在连接join中的,它的意思是在生成连接结果的时候 偏心地 剔除掉一些不符合条件的至于...
阅读全文 »
发表于 2017-12-23 09:47阅读:423评论:0推荐:0
摘要:MySQL常见运算符运算符连接表达式中各个操作数,其作用是用来指明对操作数所进行的运算。常见的运算有数学计算、比较运算、位运算以及逻辑运算。运用运算符可以更加灵活地使用表中的数据,常见的运算符类型有:算术运算符,比较运算符,逻辑运算符,位运算符等。1.1 运算符概述 ...
阅读全文 »
发表于 2017-12-23 09:26阅读:161评论:0推荐:0
摘要:转载自 http://blog.csdn.net/evankakaMySQL数据库中提供了很丰富的函数。MySQL函数包括数学函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数、加密函数、格式化函数等。通过这些函数,可以简化用户的操作。例如,字符串连接函数可...
阅读全文 »
发表于 2017-12-22 23:49阅读:319评论:0推荐:0
摘要:Mysql 多表查询详解一.前言 二.示例三.注意事项一.前言 上篇讲到Mysql中关键字执行的顺序,只涉及了一张表;实际应用大部分情况下,查询语句都会涉及到多张表格 :1.1 多表连接有哪些分类?1.2 针对这些分类有哪些连接方法?1.3 这些连接方法分别作用于哪些...
阅读全文 »
发表于 2017-12-22 17:18阅读:158评论:0推荐:0
摘要:一、数据表的修改总格式:ALTER TABLE tbl_name +具体命令;1.1添加列的具体命令为:ADD [COLUMN] column_definition [FIRST | AFTER col_name ]比如:ALTER TABLE seckill AD...
阅读全文 »
发表于 2017-12-20 13:17阅读:176评论:0推荐:0
摘要:一、MySQL准备与前置1-1.MySQL的安装(略)1.2.MySQL的配置等MySQL的配置文件---my.ini,在MySQL的安装目录下。通常关注my.ini中的下面几个修改配置信息之后要重启1.3.MySQL的启动和停止两种方式:1.Windows的服务里重...
阅读全文 »
发表于 2017-12-17 16:59阅读:145评论:0推荐:0
摘要:一、mybatis所需:1.相关jar包2.创数据库+Javabean类3.接口+写SQL的xml映射文件4.核心配置文件:SqlMapConfig.xml 二、springMVC所需:1.相关jar包2.毕竟web层,web.xml里的前端控制器 和 中文相关过...
阅读全文 »
发表于 2017-12-14 09:02阅读:105评论:0推荐:0
摘要:什么是设计模式为解决某一类普遍存在的问题而提供的一种解决方案;分类及定义创建型模式(5)1、原型模式:通过复制一个已存在对象来生成一个新对象,被复制的对象称为原型;详情...2、单例模式:一个类只有一个全局实例;详情...3、生成器模式:对复杂对象的创建过程进行抽象,...
阅读全文 »
发表于 2017-12-14 09:02阅读:121评论:0推荐:0
摘要:使用频率:★★★★☆一、什么是简单工厂模式一个工厂方法,依据传入的参数,生成对应的具体产品对象;二、补充说明不属于23种GOF设计模式;工厂方法一般设成静态方法,返回值一般是抽象类或接口,具体的产品类一般继承或实现抽象类、接口;优点:产品使用者不需要关心产品类的创建过...
阅读全文 »
发表于 2017-12-14 09:02阅读:131评论:0推荐:0
摘要:转载自:http://blog.csdn.net/hust_is_lcd/article/details/78843201.认识装饰器模式 装饰模式能够实现动态的为对象添加功能,是从一个对象外部来给对象添加功能。通常给对象添加功能,要么直接修改对象添加相应的功能...
阅读全文 »
发表于 2017-12-14 09:01阅读:158评论:0推荐:0
摘要:使用频率:★★★★☆一、什么是代理模式通过代理对象间接控制并访问目标对象的方法;二、补充说明想到代理模式,容易让人想到AOP思想,Spring中的AOP可以通过动态代理实现;代理模式有静态代理和动态代理两种;解耦调用者和被调用者;三、角色抽象主题,定义一些需要代理的方...
阅读全文 »
发表于 2017-12-14 09:01阅读:144评论:0推荐:0
摘要:使用频率:★★★★★一、什么是外观模式在子系统中的接口之上定义一个更高层次的接口,方便使用子系统中的接口;二、补充说明缺点:不符合开闭原则,修改子系统的代码会影响高层接口代码;优点:引入外观类可以降低系统的复杂度,提高了客户端使用的便捷性;优点:客户类与子系统解耦;三...
阅读全文 »
发表于 2017-12-13 17:43阅读:144评论:0推荐:0
摘要:使用频率:★★★★☆一、什么是组合模式树形结构的实现,用于描述“整体-部分”的关系;二、补充说明使用场景:部分/整体场景,如树形菜单; 文件/文件夹; 树形结构的公司层级关系...三、角色抽象角色叶子角色树枝角色客户端角色四、例子,JAVA实现利用组合模式实现如下文件...
阅读全文 »
发表于 2017-12-13 15:15阅读:109评论:0推荐:0
摘要:一、快速排序算法图解:解析:快速排序分两步(分区域,调目标位置):1.分区域如上图,默认第一个为目标数据v,橘色区域的数据小于v 紫色区域大于v,初始时,l 与j 位置重叠(橘色区域没数据),i开始在l的右边一个个扫描,大于v的不管(一开始就默认右边的都在紫色了),小...
阅读全文 »
发表于 2017-12-13 11:22阅读:182评论:0推荐:0
摘要:使用频率:★★★☆☆一、什么是桥接模式将对象的行为抽象为接口,作为抽象类的成员属性在抽象层进行组合(个人理解,仅供参考);二、补充说明改变对象与其行为的强耦合关系,使之与行为解耦;使对象的行为以及对象本身都能独立变化;三、角色抽象类具体实现类行为接口具体行为实现类客户...
阅读全文 »
发表于 2017-12-13 11:14阅读:199评论:0推荐:0
摘要:使用频率:★☆☆☆☆一、什么是享元模式大量细粒度对象共享复用二、补充说明可以节约内存空间,提高系统的性能;一个对象有内部和外部两种状态,内部状态是不变的,外部状态是可变的,把一个对象分成内部状态和外部状态,然后通过共享内部状态,达到节约内存空间的目的;应用场景举例:一...
阅读全文 »
发表于 2017-12-13 11:07阅读:148评论:0推荐:0
摘要:使用频率:★★★☆☆一、什么是状态模式一个对象的行为根据其内部状态的改变自动变化;二、补充说明结构与策略模式基本一致;与策略模式区别:使用策略模式时,客户端手动选择策略,使用状态模式时,其行为是根据状态是自动切换的。其内部状态改变时,它的行为(方法)也跟着改变,看起来...
阅读全文 »
发表于 2017-12-13 10:47阅读:151评论:0推荐:0
摘要:定义:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样就可以将该对象恢复到原先保存的状态类型:行为类类图: 我们在编程的时候,经常需要保存对象的中间状态,当需要的时候,可以恢复到这个状态。比如,我们使用Eclipse进行编...
阅读全文 »
发表于 2017-12-13 10:41阅读:145评论:0推荐:0
摘要:使用频率:★☆☆☆☆一、什么是解释器模式定义一些语法规则,然后定义一个解析器去解析该语法;所谓解释器模式就是定义语言的文法,并且建立一个解释器来解释该语言中的句子。 在这里我们将语言理解成使用规定格式和语法的代码。 在前面我们知道可以构建解释器来解...
阅读全文 »
发表于 2017-12-13 10:06阅读:139评论:0推荐:0
摘要:使用频率:★★★★★一、什么是迭代器模式提供一种方法访问一个容器对象中各个元素,而又不需暴露该对象的内部细节。二、补充说明单一职责原则,分离了集合对象的遍历行为,抽象出一个迭代器类来负责;三、角色迭代器接口迭代器具体实现抽象容器具体容器四、例子,JAVA实现例子说明:...
阅读全文 »
发表于 2017-12-13 10:00阅读:218评论:0推荐:0
摘要:使用频率:★★★★☆什么是策略模式对象的行为,在不同的环境下,有不同的实现;比如人的上班行为,在不同的环境下,可以选择走路上班或者开车上班,由客户端根据情况决定采用何种策略;补充说明符合“开闭原则”,可以在不修改原有代码的基础上替换、添加新的策略;不同的策略可以相互替...
阅读全文 »
发表于 2017-12-13 09:37阅读:123评论:0推荐:0
摘要:使用频率:★★★☆☆一、什么是责任链模式为请求创建了一个接收者对象的链,每个接收者都包含对另一个接收者的引用,当某个接受者不能处理该请求时,会将该请求转给下一个接受者处理;二、补充说明请求发送者与请求接受者解耦应用例子:struts的拦截器,servlet的过滤器三、...
阅读全文 »
发表于 2017-12-13 09:32阅读:143评论:0推荐:0
摘要:使用频率:★★★★☆一、什么是命令模式将请求封装成命令对象,请求的具体执行由命令接收者执行;二、补充说明命令发送者与命令执行者解耦;可扩展命令模式:对请求排队或者记录请求日志,以及支持可撤销的操作;每一个命令都是一个操作:请求的一方发出请求,要求执行一个操作;接收的一...
阅读全文 »
发表于 2017-12-13 09:12阅读:120评论:0推荐:0
摘要:转载自:http://blog.csdn.net/zhengzhb/article/details/7489639定义:封装某些作用于某种数据结构中各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。类型:行为类模式类图: 访问者模式...
阅读全文 »
发表于 2017-12-13 08:46阅读:156评论:0推荐:0
摘要:定义:定义对象间一种一对多的依赖关系,使得当每一个对象改变状态,则所有依赖于它的对象都会得到通知并自动更新。类型:行为类模式类图: 在软件系统中经常会有这样的需求:如果一个对象的状态发生改变,某些与它相关的对象也要随之做出相应的变化。比如,我们要设计一个...
阅读全文 »
发表于 2017-12-12 11:03阅读:152评论:0推荐:0
摘要:使用频率:★★★☆☆一、什么是中介者模式对象之间通过中介者对象进行交互,而不是直接交互;二、补充说明对紧密关联的各个对象解耦;典型例子:QQ群,聊天室;三、角色抽象中介者具体中介者抽象对象具体对象四、例子,JAVA实现例子说明,一个网络聊天室抽象中介者package ...
阅读全文 »
发表于 2017-12-12 10:39阅读:122评论:0推荐:0
摘要:转载自:http://blog.csdn.net/zhengzhb/article/details/7405608定义:定义一个操作中算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变算法的结构即可重定义该算法中的某些特定步骤。类型:行为类模式类图: ...
阅读全文 »
发表于 2017-12-12 10:16阅读:112评论:0推荐:0
摘要:转载自:http://blog.csdn.net/zhengzhb/article/details/7393557创建类模式主要关注对象的创建过程,将对象的创建过程进行封装,使客户端可以直接得到对象,而不用去关心如何创建对象。创建类模式有5种,分别是:单例模式:用于得...
阅读全文 »
发表于 2017-12-12 10:13阅读:114评论:0推荐:0
摘要:原链接:http://blog.csdn.net/zhengzhb/article/details/7393528定义:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。类型:创建类模式类图:原型模式主要用于对象的复制,它的核心是就是类图中的原型类Prot...
阅读全文 »
发表于 2017-12-12 09:52阅读:192评论:0推荐:0
摘要:转载自:http://www.cnblogs.com/chenpi/p/5166440.html使用频率:★★☆☆☆一、什么是生成器模式对复杂对象的创建过程进行抽象,相同的创建步骤,不一样的创建过程实现,生成不同表示的对象;例如创建一台电脑,对其应用生成器模式进行创建...
阅读全文 »
发表于 2017-12-12 09:29阅读:157评论:0推荐:0
摘要:转载自:https://www.cnblogs.com/chenpi/p/5156801.html (风一样的码农)阅读目录使用频率:★★★★★一、什么是抽象工厂模式二、补充说明三、角色四、例子使用频率:★★★★★一、什么是抽象工厂模式就是对一组具有相同主题的工厂进行...
阅读全文 »
发表于 2017-12-12 09:07阅读:126评论:0推荐:0
摘要:转载自:http://blog.csdn.net/zhengzhb/article/details/7348707定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类。类型:创建类模式类图:工厂方法模式代码[java] vi...
阅读全文 »
发表于 2017-12-12 08:40阅读:134评论:0推荐:0
摘要:原链接:http://blog.csdn.net/zhengzhb/article/details/7331369定义:确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。类型:创建类模式类图:类图知识点:1.类图分为三部分,依次是类名、属性、方法2.以>...
阅读全文 »
发表于 2017-12-11 17:04阅读:183评论:0推荐:0
摘要:一句话概括归并排序算法:通过二分法将一组数据不断分割至最底层一个,然后依次从最底层向上每两组使用归并排序排出来。归并排序算法步骤分两步(结合上图):1.是不断划分(二分法) 2.不断把划分后的数据一步步归并起来(方法是:先复制得到相同一个数组,建立三个指针,两个在二分...
阅读全文 »
发表于 2017-12-11 11:07阅读:125评论:0推荐:0
摘要:转载自:http://blog.csdn.net/zhengzhb/article/details/7296944定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。问题由来:在软件的生命周期内,因为变化、升级和维护等原因需要对软件原有代码进行修改时,可能会...
阅读全文 »
发表于 2017-12-11 10:56阅读:167评论:0推荐:0
摘要:转载自:http://www.jianshu.com/p/14589fb6978e (作者简书:涅槃1992)揭秘迪米特法则迪米特法则(Law of demeter,缩写是LOD)要求:一个对象应该对其他对象保持最少了解, 通缩的讲就是一个类对自己依赖的类知道的越少越...
阅读全文 »
发表于 2017-12-11 10:08阅读:131评论:0推荐:0
摘要:转载自:http://blog.csdn.net/zhengzhb/article/details/7296921定义:客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。问题由来:类A通过接口I依赖类B,类C通过接口I依赖类D,如果接口I对...
阅读全文 »
发表于 2017-12-11 09:53阅读:147评论:0推荐:0
摘要:原链接:http://blog.csdn.net/zhengzhb/article/details/7289269定义:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。问题由来:类A直接依赖类B,假如要将类A改为依赖类C,则必须...
阅读全文 »
发表于 2017-12-11 09:34阅读:117评论:0推荐:0
摘要:肯定有不少人跟我刚看到这项原则的时候一样,对这个原则的名字充满疑惑。其实原因就是这项原则最早是在1988年,由麻省理工学院的一位姓里的女士(Barbara Liskov)提出来的。定义1:如果对每一个类型为 T1的对象 o1,都有类型为 T2 的对象o...
阅读全文 »
发表于 2017-12-11 09:28阅读:129评论:0推荐:0
摘要:原链接:http://blog.csdn.net/zhengzhb/article/details/7278174定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变...
阅读全文 »
发表于 2017-12-11 09:23阅读:117评论:0推荐:0
摘要:原链接:http://blog.csdn.net/zhengzhb/article/details/7247188IT职场的小菜经常有这样的疑问: 为什么一个相似的功能,大牛一会儿就搞定,然后悠闲地品着下午茶逛淘宝;而自己加班加点搞到天亮还做不完。 ...
阅读全文 »
发表于 2017-12-10 18:21阅读:367评论:0推荐:0
摘要:插入排序的原理:始终定义第一个元素为有序的,将元素逐个插入到有序排列之中,其特点是要不断的移动数据,空出一个适当的位置,把待插入的元素放到里面去。插入排序的函数如下:insertion_sort(int *arr,int len){ int i,j,tmp; ...
阅读全文 »
发表于 2017-12-10 17:53阅读:108评论:0推荐:0
摘要:一句话概括:就像玩扑克牌时,每来一张新牌都要选择一个合适的插入位置,代码:循环从头依次抽“新牌”,与位置较前的依次比较和插入 直到插入最合适的位置。最差情况复杂度:O(n2),但是在数据近乎有序的时候甚至超过O(nlogn)一、算法 public void inser...
阅读全文 »
发表于 2017-12-10 15:14阅读:93评论:0推荐:0
摘要:一句话概括:循环每次从未排序里选择一个最小或的最大的元素依次放好,直到最后(没有未排序的了)。1.int型数组选择排序import java.util.Random;public class test1 { private static int a[]; publi...
阅读全文 »
发表于 2017-12-10 14:05阅读:537评论:0推荐:0
摘要:一、Comparable和ComparatorComparable可以认为是一个内比较器,实现了Comparable接口的类,类的实例与实例直接可以比较,依赖compareTo方法的实现,compareTo方法的返回值就是比较的结果,是int。 比如:new Inte...
阅读全文 »