Fork me on GitHub

12 2018 档案

摘要:[TOC] 一、模式定义 模板方法模式就是在一个抽象类中定义一些骨架方法,然后通过类继承的方法,将一些方法延迟到继承类里。模板方法模式是一种类行为型模式,是一种比较常用的方法。不属于对象行为型模式,因为只是通过类继承实现。 Template Method Pattern: Define the sk 阅读全文
posted @ 2018-12-31 17:06 smileNicky 阅读(521) 评论(0) 推荐(0) 编辑
摘要:本博客,介绍通过Bootstrap的treeview插件实现菜单树的功能。 treeview链接:http://www.htmleaf.com/Demo/201502141380.html ORM框架是Mybatis的,这里其实就是单表查询而已,获取要做菜单树的信息表,这张表必须要有一个parent 阅读全文
posted @ 2018-12-30 23:47 smileNicky 阅读(2370) 评论(0) 推荐(0) 编辑
摘要:@[toc] 一、前言 本博客只记录工作中的一次oracle sql调优记录,因为数据量过多导致的查询缓慢,一方面是因为业务太过繁杂,关联了太多表。面对复杂的业务场景,确实有些情况是需要关联很多表的。当然有些情况是可以将业务实现放在Java代码里,有些情况可以不要关联很多表。 二、注意点 对于SQL 阅读全文
posted @ 2018-12-30 23:05 smileNicky 阅读(2069) 评论(0) 推荐(0) 编辑
摘要:业务场景 先描述一下业务场景,要实现的功能是通过搜索框填写参数,然后点击按钮搜索数据,将搜索框的查询参数获取,附加在链接后面,调导Excel表接口,然后实现导出Excel功能。其实做导Excel表功能不仅可以通过链接调用实现,也可以通过form表单提交的方法来实现。 不过本博客介绍的是通过链接调接口 阅读全文
posted @ 2018-12-30 21:59 smileNicky 阅读(1545) 评论(0) 推荐(0) 编辑
摘要:介绍Oracle的开窗函数之前先介绍一下分析函数,因为开窗函数也属于分析函数 分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是:对于每个组返回多行,而聚合函数对于每个组只返回一行。 上面是开窗函数的简单介绍。 开窗函数指定了分析函数工作的数据窗口大小,这个数据窗口大小可能会随着行的变化而 阅读全文
posted @ 2018-12-30 21:37 smileNicky 阅读(5042) 评论(0) 推荐(0) 编辑
摘要:模式定义 一个对象在其内部状态改变时改变其行为,这个对象我们可以称为状态对象,所以状态模式是一种对象行为型模式。 模式结构 Context:环境类 Context类也可以称之为上下文类,实际上就是拥有状态的对象,可以理解为状态管理器。 State:抽象状态类 抽象状态类可以是一个接口类或者抽象类,反 阅读全文
posted @ 2018-12-22 16:28 smileNicky 阅读(562) 评论(0) 推荐(0) 编辑
摘要:[TOC] 一、行为型模式 介绍职责链模式之前先介绍一下行为型设计模式,因为按照GoF模式分类,职责链就是一种行为型设计模式。行为型设计模式就是主要表示类或者对象之间的关联关系,分为类行为型和对象行为型。类行为型一般都是通过类的继承或者多态等等方式实现。对象行为型就是通过对象的聚合等等关联实现。 二 阅读全文
posted @ 2018-12-22 14:43 smileNicky 阅读(289) 评论(0) 推荐(0) 编辑
摘要:今天遇到一个问题,首先是在tomcat中间件上跑的web项目,一个jsp文件,因为代码行数实在是太多了,更新了几个版本之后编译报错了,页面打开都是报500的错误,500的报错,知道http协议返回码的都知道,这是服务端的报错。 jsp编译过程是先编译为servlet,然后再通过类加载器编译为.cla 阅读全文
posted @ 2018-12-18 23:46 smileNicky 阅读(1796) 评论(2) 推荐(1) 编辑
摘要:本博客介绍的是继承Mybatis提供的Interface接口,自定义拦截器,然后将项目中的sql拦截一下,打印到控制台。 先自定义一个拦截器 然后在SqlSessionFactoryBean进行配置,主要代码 下面是我的Mybatis配置类,是基于SpringBoot做的,仅供参考 阅读全文
posted @ 2018-12-17 10:39 smileNicky 阅读(12332) 评论(2) 推荐(0) 编辑
摘要:一、线程并行相关概念 同步(Synchronous)和异步(Asynchronous) 同步和异步的本质区别是是否需要等待,比如一个方法在执行,必须等前面一个方法程执行完成,才可以执行,这就是同步。如果不需要等上一个方法执行完成,并行或者并发执行,这就是异步调用。 并发(Concurrency)和并 阅读全文
posted @ 2018-12-15 23:18 smileNicky 阅读(705) 评论(0) 推荐(0) 编辑
摘要:一、基本语法 介绍一下oracle的nvl函数和nvl2函数。 nvl函数 nvl函数基本语法为nvl(E1,E2),意思是E1为null就返回E2,不为null就返回E1。 nvl2函数 nvl2函数的是nvl函数的拓展,基本语法为nvl2(E1,E2,E3),意思是E1为null,就返回E3,不 阅读全文
posted @ 2018-12-13 23:13 smileNicky 阅读(2729) 评论(0) 推荐(0) 编辑
摘要:一、基本语法 connect by递归查询基本语法是: start with:表示以什么为根节点,不加限制可以写1=1,要以id为123的节点为根节点,就写为start with id =123 connect by:connect by是必须的,start with有些情况是可以省略的,或者直接s 阅读全文
posted @ 2018-12-13 23:12 smileNicky 阅读(287) 评论(0) 推荐(0) 编辑
摘要:或许是惯性思维,在mybatis使用foreach循环调用的时候,很多时候都是传一个对象,传一个List的情况很少,所以写代码有时候会不注意就用惯性思维方法做了。 今天向sql传参,传了一个List作为参数,然后在xml里再foreach循环调用。然后报错信息如: mybatis foreach报错 阅读全文
posted @ 2018-12-13 00:24 smileNicky 阅读(10298) 评论(0) 推荐(0) 编辑
摘要:一、业务场景 今天需要实现一个table,有一列的效果是:用户姓名A(账号a),用户姓名B(账号b)...这种格式。这就想到oracle的列转行函数vm_concat。 可以用类似这种格式wm_concat(a || '(' || b || ')'),a表示用户名字段,b表示账号字段。 例子: 查询 阅读全文
posted @ 2018-12-13 00:03 smileNicky 阅读(800) 评论(0) 推荐(0) 编辑
摘要:整理一篇工作中的JavaScript脚本笔记,不定时更新,笔记来自网上资料或者自己经验归纳。 (1) 获取Url绝对路径 (2) 获取Url请求参数 function GetRequest() { var url = location.search; //获取url中"?"符后的字串 var the 阅读全文
posted @ 2018-12-13 00:02 smileNicky 阅读(113) 评论(0) 推荐(0) 编辑
摘要:[TOC] 一、加锁原因 在一些比较高并发的业务场景,经常听到通过加锁的方法实现线程安全。 下面简单介绍一下 1.1 加锁方式 数据库锁 数据库本身提供了锁机制,比如乐观锁、悲观锁等等。下面给出我之前写的一篇博客,介绍一下mysql数据库的锁机制 "Mysql的锁机制" 单体环境 Java线程层面, 阅读全文
posted @ 2018-12-09 17:26 smileNicky 阅读(672) 评论(0) 推荐(0) 编辑
摘要:今天要创建一个Oracle用户,然后发现sql不太记得了,然后只能再去找找资料,发现这样效率并不是很高,所以记录成博客,有需要就直接从博客复制。 下面是我简单整理的,有需要可以参考。 创建表空间 CREATE TABLESPACE WORKFLOW01 LOGGING DATAFILE 'D:\or 阅读全文
posted @ 2018-12-08 00:09 smileNicky 阅读(213) 评论(0) 推荐(0) 编辑
摘要:业务场景 本博客记录一下Oracle列转行函数在Oracle11的一些不兼容问题,vm_concat在一些业务场景是必须的。不过这个函数使用要谨慎,底层实现应该也是group by等等实现的,性能并不是特别好。这个函数在Oracle12是没有的,在Oracle11是不太兼容的,Oracle10可以正 阅读全文
posted @ 2018-12-07 00:21 smileNicky 阅读(589) 评论(0) 推荐(0) 编辑
摘要:业务场景 业务场景:首先项目进行分布式拆分之后,按照模块再分为为api层和service层,web层。 其中订单业务的实体类放在com.muses.taoshop.item.entity,而用户相关的实体类放在com.muses.taoshop.user.entity。所以就这样,通过通配符方式去s 阅读全文
posted @ 2018-12-02 20:47 smileNicky 阅读(1286) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示