
SSM框架
SSM架构实际是SpringMVC+Spring+MyBatis三个框架整合使用的架构设计,从Spring框架学起,再到SpringMVC,继续学习MyBatis,最后开发SSM整合的web项目
life is wonderful
pay for life, pay for yourself
展开
-
Redis命令SETNX的使用(包含Java分布式锁实现)
Redis命令SETNX的使用(包含Java分布式锁实现)可以参考Redis官网对SETNX命令的介绍:https://redis.io/commands/setnxSETNX命令简介命令格式SETNX key value将 key 的值设为 value,当且仅当 key 不存在。 若给定的 key 已经存在,则 SETNX 不做任何动作。 SETNX 是SET...原创 2018-11-20 18:14:41 · 13918 阅读 · 0 评论 -
浅析Velocity加载机制
浅析Velocity加载机制项目注册VelocityEngine的代码原创 2018-06-24 21:19:40 · 2082 阅读 · 0 评论 -
解决SpringBoot1.5.x版本对Velocity模板不支持的方案
解决SpringBoot1.5.x版本对Velocity模板不支持的方案项目构建工具Gradlebuild.gradle配置文件SpringBoot版本:1.5.9.RELEASE引入SpringBoot集成Velocity模板的依赖进入项目build.gradle配置文件所在目录使用gradle build --refresh-dependencies命令刷新依赖报错的原因很明显,org.spr...原创 2018-06-24 17:04:34 · 8193 阅读 · 5 评论 -
mybatis在xml文件中处理大于号小于号的方法
背景:在mybatis映射文件中书写sql语句,where子句中经常会用到大于小于号,如果直接用大于小于号就会报错 问题:在xxxMapper.xml中的sql语句中,不能直接用大于号和小于号,需要使用转义字符如果用小于号会报错误如下:org.apache.ibatis.builder.BuilderException: Error creating documentinstance. Caus原创 2017-10-12 19:54:28 · 2442 阅读 · 0 评论 -
分布式锁的多种实现方式
目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两项。”所以,很多系统在设计之初就要对这三者做出取舍。在互联网领域的绝大多数的场景中,都需要牺牲强一致转载 2017-09-17 16:31:27 · 1209 阅读 · 0 评论 -
谈谈Spring IOC是怎么实现解耦的
最近在看一些东西,突然想到一个面试的问题, SpringIOC是怎么实现解耦的?自己理解的并不好!!那么首先想到的是什么是耦合?怎么做才是解耦?我们都知道在进行软件设计式都遵循一个原则:高内聚,低耦合那么到底什么是内聚?什么耦合?怎么实现高内聚?怎么实现低耦合?以下偶都是从网上搜集的资料而已,整理一下。第一篇:java 高内聚,低耦合的理解 耦合:一个软件结构内不同模块之间互连程度的度量(耦合性转载 2017-09-17 01:38:00 · 10983 阅读 · 3 评论 -
搜索引擎选择: Elasticsearch与Solr
搜索引擎选型调研文档 Elasticsearch简介*Elasticsearch是一个实时的分布式搜索和分析引擎。它可以帮助你用前所未有的速度去处理大规模数据。它可以用于全文搜索,结构化搜索以及分析,当然你也可以将这三者进行组合。Elasticsearch是一个建立在全文搜索引擎 Apache Lucene™ 基础上的搜索引擎,可以说Lucene是当今最先进,最高效的全功能开源搜索引擎框架。但是L转载 2017-08-10 21:22:00 · 960 阅读 · 0 评论 -
使用Quartz任务调用的时候报错Based on configured schedule, the given trigger will never fire.
前段时间使用Spring整合Quartz定时任务调度框架做了一个定时定频率发送邮件功能,当时测试的时候的正常运行,今天重新启动项目,项目居然无法重新启动,去控制台看了异常信息:21:53:29,408 WARN XmlWebApplicationContext:546 - Exception encountered during context initialization - c原创 2017-07-29 22:35:12 · 14525 阅读 · 2 评论 -
Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解
标签:读写分离页面缓存 URL重写 Nginx 反向代理原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处 、作者信息和本声明。否则将追究法律责任。http://freeloda.blog.51cto.com/2033581/1288553大纲一、前言二、环境准备三、安装与配置Nginx四、Nginx之反向代理五、Ngi转载 2017-05-30 00:01:05 · 2209 阅读 · 0 评论 -
老调重弹:JDBC系列 之 存储过程 CallableStatement(创建和使用)
前言 最近在研究Mybatis框架,由于该框架基于JDBC,想要很好地理解和学习Mybatis,必须要对JDBC有较深入的了解。所以便把JDBC 这个东东翻出来,老调重弹,好好总结一番,作为自己的笔记,也是给读者一个参考~~~ 本文主要通过 使用JDBC创建存储过程 和使用JDBC调用存储过程两部分 阐述JDBC 对存储过程的支持。本文将在Oracle数转载 2017-04-18 23:02:12 · 1837 阅读 · 0 评论 -
老调重弹:JDBC系列 之 <JDBC层次结构和基本构成>
前言 最近在研究Mybatis框架,由于该框架基于JDBC,想要很好地理解和学习Mybatis,必须要对JDBC有较深入的了解。所以便把JDBC 这个东东翻出来,老调重弹,好好总结一番,作为自己的笔记,也是给读者一个参考~~~本篇博文是我的上篇博文 老调重弹:JDBC系列 之 的续文,主要梳理一下JDBC的层次结构和基本构成。以下是本文的组织内容(用户可以点击上面的目转载 2017-04-18 22:59:47 · 959 阅读 · 0 评论 -
老调重弹:JDBC系列 之 <驱动加载原理全面解析>
前言 最近在研究Mybatis框架,由于该框架基于JDBC,想要很好地理解和学习Mybatis,必须要对JDBC有较深入的了解。所以便把JDBC 这个东东翻出来,好好总结一番,作为自己的笔记,也是给读者一个参考~~~以下是本文的组织结构,读者可以点击上面的目录查看:概述 一般情况下,在应用程序中进行数据库连接,转载 2017-04-18 22:56:04 · 1524 阅读 · 0 评论 -
LInux中安装gcc-c++时报错和原有gcc版本冲突
Centos 6.3 安装 gcc-c++时报下面的错误:Resolving Dependencies--> Running transaction check---> Package gcc-c++.i686 0:4.4.7-11.el6 will be installed--> PRocessing Dependency: libstdc++-devel = 4.4.7-11.e转载 2017-01-19 17:19:59 · 5902 阅读 · 1 评论 -
win8.1中xshell输入中文显示问号问题
尝试使用win8.1但发现使用xshell连接虚拟机后,无法输入中文了,真是毛病,只能想办法解决了。控制面板--语言 删除除中文输入法之外的所有输入法和美式键盘 然后就可以正常输入中文了,为了英文方便,再把美式键盘添加回来其实最终感觉,就是win8.1把美式键盘默认放在中文语言中,导致的输入问题,所以把美式键盘单独放到英语语言中,问题就解决了。转载 2017-01-18 12:07:25 · 2569 阅读 · 0 评论 -
献给初学者:谈谈如何学习Linux操作系统
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://ixdba.blog.51cto.com/2895551/569329推荐:10年技术力作:《高性能Linux服务器构建实战Ⅱ》全网发行,附试读章节和全书实例源码下载!一、 选择适合自己的linux发行版谈到linux的发行版本,太多了,可能谁也不能给出一个转载 2017-01-17 19:59:19 · 20012 阅读 · 0 评论 -
【Linux】linux常用基本命令
Linux中许多常用命令是必须掌握的,这里将我学linux入门时学的一些常用的基本命令分享给大家一下,希望可以帮助你们。这个是我将鸟哥书上的进行了一下整理的,希望不要涉及到版权问题。1、显示日期的指令: date2、显示日历的指令:cal3、简单好用的计算器:bc转载 2017-01-17 19:14:20 · 1396 阅读 · 1 评论 -
【MyBatis学习】:通过自动回复机器人学习MyBatis(一)
自动回复机器人案例分析基本功能: 接收发送指令; 根据指令自动回复对应的内容; 项目使用技术: JSP+Servlet+JDBC 项目使用数据库中的数据表message 项目目录: 案例代码: web.xml原创 2017-01-08 23:10:42 · 2411 阅读 · 2 评论 -
深入浅出Mybatis-与Spring集成
单独使用mybatis是有很多限制的(比如无法实现跨越多个session的事务),而且很多业务系统本来就是使用spring来管理的事务,因此mybatis最好与spring集成起来使用。前置要求版本要求项目版本下载地址说明mybatis3.0及以上http转载 2017-01-09 22:03:40 · 1137 阅读 · 0 评论 -
深入浅出Mybatis-改造Cache
为了方便修改BUG,我在github上创建了一个仓库,地址:https://github.com/hupanfeng/hdd。欢迎大家在留言里提交问题,我会尽快修复,并将修复的代码提交至github上。在前面的文章里,我开发了两个插件:根据注解实现的sql自动生成插件和分页插件。这两个插件在没有开启cache的情况下可以很好的使用,但开启cache后却出现了一些问题,为了解决这转载 2017-01-09 21:59:48 · 722 阅读 · 0 评论 -
深入浅出Mybatis-分页
Mybatis的分页功能很弱,它是基于内存的分页(查出所有记录再按偏移量和limit取结果),在大数据量的情况下这样的分页基本上是没有用的。本文基于插件,通过拦截StatementHandler重写sql语句,实现数据库的物理分页。本文适配的mybatis版本是3.2.2。准备为什么在StatementHandler拦截在深入浅出MyBatis-Sqlsession章节介绍转载 2017-01-09 21:32:49 · 1148 阅读 · 0 评论 -
深入浅出Mybatis-sql自动生成
本文提供了一种自动生成sql语句的方法,它针对的对象是有主键或唯一索引的单表,提供的操作有增、删、改、查4种。理解本文和本文的提供的代码需要有java注解的知识,因为本文是基于注解生成sql的。本文适配的mybatis版本是3.2.2。准备为什么在StatementHandler拦截在深入浅出MyBatis-Sqlsession章节介绍了一次sqlsession的完整执行过转载 2017-01-09 21:53:15 · 1176 阅读 · 0 评论 -
深入浅出Mybatis-插件原理
Mybatis采用责任链模式,通过动态代理组织多个拦截器(插件),通过这些拦截器可以改变Mybatis的默认行为(诸如SQL重写之类的),由于插件会深入到Mybatis的核心,因此在编写自己的插件前最好了解下它的原理,以便写出安全高效的插件。代理链的生成Mybatis支持对Executor、StatementHandler、PameterHandler和ResultSetHandl转载 2017-01-09 21:26:05 · 1003 阅读 · 0 评论 -
深入浅出MyBatis-Sqlsession
前面的章节主要讲mybatis如何解析配置文件,这些都是一次性的过程。从本章开始讲解动态的过程,它们跟应用程序对mybatis的调用密切相关。本章先从sqlsession开始。创建正如其名,Sqlsession对应着一次数据库会话。由于数据库回话不是永久的,因此Sqlsession的生命周期也不应该是永久的,相反,在你每次访问数据库时都需要创建它(当然并不是说在Sqlsession转载 2016-12-31 21:58:22 · 1204 阅读 · 1 评论 -
深入浅出MyBatis-MapperBuilder
上一章节说道,解析mybatis的配置文件的最后一步是解析mapper元素。每个mapper元素对应一个mapper配置文件,这一章节就来讲讲这个mapper配置文件是如何解析的。Mapper文件里有什么mapper配置文件是配置sql映射的地方,它看起来就像下面这个样子:[html] view plain copyxml v转载 2016-12-31 17:56:30 · 872 阅读 · 0 评论 -
深入浅出MyBatis-Configuration
Configuration是干嘛的Configuration就像是Mybatis的总管,Mybatis的所有配置信息都存放在这里,此外,它还提供了设置这些配置信息的方法。Configuration可以从配置文件里获取属性值,也可以通过程序直接设置。Configuration里可供配置的属性有:1. properties属性1) 配置示例转载 2016-12-30 21:16:11 · 1011 阅读 · 0 评论 -
深入浅出MyBatis-快速入门
简介MyBatis的前身叫iBatis,本是apache的一个开源项目, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis。MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注转载 2016-12-30 20:20:16 · 1231 阅读 · 0 评论