自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hxdeng的博客

技术杂文

  • 博客(68)
  • 收藏
  • 关注

原创 01 MongoDB入门基本操作

安装下载二进制文件安装将MongoDB的bin目录添加到path环境变量中在MongoDB安装目录下新建db目录这个文件夹保存所有的数据库的信息在MongoDB目录下创建log目录,并且在目录下创建mongodb.log文件在MongoDB安装目录下创建文件mongodb.conf,并在文件中配置些常用信息#设置数据目录的路径dbpath = D:\MongoDB\db# 设置日...

2019-01-17 14:49:51 247

原创 05 Redis 持久化

1. 持久化操作介绍2. Redis 持久化Redis 支持的持久化方式RDB 方式(默认方式,无须任何配置)AOF 方式不持久化3. RDB 持久化RDB 持久化:在指定时间内将内存中的数据存储到磁盘一次;RDB 优势Redis 数据库只包含一个文件,方便文件备份;Redis 恢复十分便捷Redis 性能最大化RDB 缺点数据无法保证高可用性数据非常大的时...

2019-01-17 14:49:03 196

原创 04 Redis 数据类型 & 常见命令

Redis支持五种数据类型string (字符串)hash (哈希)list (列表)set (集合)zset (sorted set:有序集合)注意 key 不要太长,最好不要超过1024字节,可以也不要太短,最好统一命名规范;1. String(字符串)string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。s...

2019-01-17 14:48:32 206

原创 03 Jedis 入门

Jedis 介绍Jedis 是Redis 官方推荐首选的Java客服端;1. JAR引入<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <versio

2019-01-17 14:48:11 184

原创 02 Redis 介绍

简介Remote Dictionary Server(Redis)远程字典服务器 简写为Redis。Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, ...

2019-01-17 14:47:42 136

原创 01 NoSQL 概述

简介什么是NoSQL:NoSQL = Not Only SQL 非关系型数据库的简称;为么是需要NoSQL:WEB 2.0 兴起后应对高并发读写,海量数据的高效率存储和访问,高扩展性和高可用性关系型数据库处理起来力不从心。NoSQL 产品RedismongoDBCassandrariakmembasecouchDBNoSQL 产品分类分类相关产品典型应用数...

2019-01-17 14:46:42 103

原创 Tomcat 如何部署多个工程并指向不同的域名

1. 修改Tomcat端口号为 80 端口打开tomcat中conf文件夹中的server.xml<Connector connectionTimeout="20000" port="80" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8" />2. server.xml 配置Host 节点打开

2018-11-20 16:43:46 451 2

原创 Tomcat 优化

简介Tomcat 请求处理流程Tomcat 容器启动后,当有一个请求A进入时Tomcat会创建一个业务线程A去处理A的请求,当有一个请求B进入时会创建业务线程B处理请求。如果处理完成时业务线程就会回收。当请求太多的时候就会连接异常;所以优化第一个思路就是添加更多的业务线程,第二个是优化请求队列;1. 线程池优化线程池优化参数参数作用建议优化maxConnectio...

2018-11-11 15:08:38 235

原创 10 单台服务器运行多个Tomcat

简介一台服务器下运营多个Tomcat步骤1. 添加新增的Tomcat相关的环境变量CATALINA_BASE=c:\tomcat1CATALINA_HOME=c:\tomcat1TOMCAT_HOME=c:\tomcat1CATALINA_2_BASE=c:\tomcat2CATALINA_2_HOME=C:\tomcat2TOMCAT_2_HOME=c:\tomcat2 ...

2018-11-08 18:12:02 252

原创 05 Ngnix 负载均衡配置,常用策略

简介1. 轮询(默认)优点:实现简单,默认配置;缺点:不考虑每台服务器处理能力upstream 后面要被负载均衡的域名;server 负载的端口upstream www.hxxiaodao.com{ server www.hxxiaodao.com:8080; server www.hxxiaodao.com:8088;}2. 权重优点: 考虑每台服务器处理能...

2018-11-08 18:10:30 238

原创 04 Ngnix 反向代理

简介在实际开发过程中如果使用127.0.0.1 或者 localhost 去访问工程调整的js可能会和实际生产环境不一致。或者做前后台分离的时候我们需要通过域名的形式访问开发环境。此时就可以通过Ngnix反向代理实现。将域名反向到Tomcat 的某个端口下。步骤在 nginx.conf 配置文件中执行反向代理的配置文件(我们将所有的配置文件独立访问方便管理)# http 节点内 se...

2018-11-08 18:09:51 224

原创 01 Nginx 介绍

简介1. Nginx 是什么Ngnix 是一款轻量级的WEB服务器,也是一款反向代理服务器。可以实现负载均衡2. Nginx能够干什么可直接支持Rails 和 PHP 的程序。作为 HTTP 的反向代理服务器作为负载均衡服务器作为邮件代理服务器帮助实现前端动静分离3. Ngnix 特点高稳定性高性能资源占用少功能丰富模块化结构支持热部署4. Ngnix 安...

2018-11-08 18:09:07 174

原创 MySQL 主从复制

简介MySQL 要做到主从复制,其实依靠的是二进制日志,即:假设主服务器叫A,从服务器叫B;主从复制就是B跟着A学,A做什么,B就做什么。那么B怎么同步A的动作呢?现在A有一个日志功能,把自己所做的增删改查的动作全都记录在日志中,B只需要拿到这份日志,照着日志上面的动作施加到自己身上就可以了。这样就实现了主从复制。主从复制常见命令编号命令说明01service m...

2018-11-08 18:07:28 169

原创 Spring+SpringMVC+MyBatis+MySQL 实现读写分离

简介主从复制实现后,主库数据只能够写入数据,读数据只能够从库数据完成。此时代码部分就需要实现读写分离;就需要配置多个数据源;而以前配置的DataSource 只能够从单一的URL中获取连接。在Spring 中提供了一个AbstractRoutingDataSource 类来可以帮我实现多个DataSource。AbstractRoutingDataSource 继承 AbstractDataS...

2018-11-08 18:06:58 1723

原创 Java 常见加密

加密在程序中经常用到,在程序加密常见有MD5,SHA1等加密方式。我们今天不详细讨论如何在程序中使用MD5等加密方式。在此提供一个第三方加密的工具类。这个类是Apache 所提供的一把帮助类(DigestUtils)。我们看下如何使用这个帮助类。1. 引入对应的jar包Maven引入方式:<dependency> <groupId>commons-codec&lt...

2018-11-02 23:00:19 315

原创 22 Spring 数据库组件

JDBC 框架概述JdbcTemplate 类Spring JDBC 使用步骤数据源配置Spring JDBC 操作数据库执行DML / DQL 语句1. 查询一个整数类型1. 查询一个整数类型2. 查询一个 long 类型3. 参数绑定4. 查询字符串5. 查询并返回一个对象6. 查询并返回多个对象7. 在表中插入一行8. 更新表中的一行9. 从表中删除一行...

2018-09-30 00:17:04 263

原创 21 Spring 邮件发发送

1. JavaMail发送邮件2. Apache Mail 发送邮件2.1 发送简单邮件2.2 发送HTML邮件2.3 发送HTML邮件包含图片2.4 发送带附件的简单邮件2.5 发送带附件的HTML邮件3. Spring 发送邮件3.1 介绍3.2 Spring发送邮件步骤3.3 发送一封简单邮件3.4 发送一封HTML邮件3.5 发送一封带附件的邮件...

2018-09-30 00:16:39 489

原创 20 Spring 事务管理

Spring 事务事务特点局部事物 vs 全局事务编程式 VS 声明式事务传播性事务隔离级别脏读、不可重复读、幻象读概念说明Spring 事务常见接口/类介绍Spring 事务实现方式编程式事务实现步骤Spring 声明式事务管理1. 基于TransactionProxyFactoryBean的方式 实现声明事务管理2. 基于AspectJ的XML方式 实现声明式事务...

2018-09-30 00:16:18 163

原创 16 Spring AOP

1. AOP相关概念AOP 介绍切面介绍AOP 实现方式AOP 术语介绍Advice 通知类型Spring 框架中AOP的用途Spring 的AOP实现有接口和无接口的Spring AOP的实现区别2. AOP 开发开发步骤切入点详细介绍1. 前置通知(Befor advice)2. 返回后通知(After returning advice)3. 抛出异常后通知(A...

2018-09-30 00:15:52 163

原创 15 Spring Bean装配

Spring Bean1. Bean配置2. Bean作用域3. Bean生命周期3.1 Bean初始化实现 InitializingBean 接口配置init-method 属性3.2 Bean 销毁DisposableBean 接口配置destroy 属性3.3 配置全局的初始化和销毁的方法4. Bean 装配之Aware 接口5. Bean自动装配...

2018-09-30 00:15:25 124

原创 05 Spring IOC 容器

1. Spring IOC 容器2. Spring IOC 容器中如何管理对象3. Spring Bean 容器初始化4. Spring 注入4.1 属性注入4.2 构造注入1. Spring IOC 容器IOC(Inversion of Control) 控制权的转移,应用程序本身不负责依赖的创建和维护,而由外部容器创建和维护 Spring IOC作用:专门负责对...

2018-09-30 00:14:44 194

原创 04 Hello Word

1. 创建Maven工程,并引入JAR创建Spring核心配置文件创建类1. 创建Maven工程,并引入JARJAR 包引入<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> ...

2018-09-30 00:14:09 96

原创 05 Struts2 配置文件介绍

本章将带你学习一个 Struts 2 应用程序必需的基本配置。在这里,我们将看到一些重要的配置文件:web.xml,struts.xml,struts-config.xml 和 struts.properties,它们将被配置。1. web.xml 文件web.xml 配置文件是一个 J2EE 的配置文件,它决定如何用 servlet 容器来处理 HTTP 请求的元素。它不是严格意义上...

2018-09-30 00:11:29 130

原创 13 PageHelpler分页插件

简介学习文档pageHelpler 使用步骤1. 引入分页插件 JAR引入 Jar 包你可以从下面的地址中下载最新版本的 jar 包https://oss.sonatype.org/content/repositories/releases/com/github/pagehelper/pagehelper/http://repo1.maven.org/maven2/com/gi...

2018-09-30 00:10:09 684

原创 20 MyBatis 整合Spring

MyBatis 整合Spring1. 添加MyBatis-Spring-xx.jar 包2. 修改Spring核心配置文件2.1 创建SqlSessionFactory2.2 扫描Mapper接口的实现,以便于mapper能够自动注入MyBatis 整合Spring1. 添加MyBatis-Spring-xx.jar 包2. 修改Spring核心配置文件2.1 创建Sq...

2018-09-30 00:05:12 121

转载 10 MyBatis 获取自动增长的值

简介在使用MyBatis做持久层时,insert语句默认是不返回记录的主键值,而是返回插入的记录条数;如果业务层需要得到记录的主键时,可以通过配置的方式来完成这个功能针对Sequence主键而言,在执行insert sql前必须指定一个主键值给要插入的记录,如Oracle、DB2,可以采用如下配置方式:<insert id="add" parameterType="vo.Catego...

2018-09-29 15:52:58 273

原创 09 MyBatis 整合 EhCache

MyBatis 整合Ehcach 缓存1. 导入第三方缓存jar包2. 添加Ehcache核心配置文件(ehcache.xml) 或者 在Mapper中配置缓存数据3. 需要使用Ehcache缓存的 Mapper 文件中指定Ehcache缓存。MyBatis 整合Ehcach 缓存整合步骤:1. 导入第三方缓存jar包ehcache-core-x.x.x.jarslf4j-a...

2018-09-29 15:52:37 108

原创 08 MyBatis 一级缓存 & 二级缓存

一级缓存(SqlSession)二级缓存(namespaces)1. 总配置文件开启全局二级缓存配置(default true)2. Mapper文件指定使用缓存3. 具体SQL语句处使用缓存(default true)一级缓存(SqlSession)一级缓存也称为本地缓存。与数据库同一次回话期间查询到的数据会放在本地缓存中。以后查询同样的数据就会从本地缓存中获取,而不是从...

2018-09-29 15:52:18 154

原创 07 动态 SQL 语句

简介1. if2. choose, when, otherwise 多个条件判断3. where、set4. trim 标记=格式化标记,是一个更加智能化的标记。可以与其他标记组合完成where与set标记的功能5. foreach 标记6. bind7. 多数据库支持8. 动态 SQL 中的可插拔脚本语言简介MyBatis 的强大特性之一便是它的动态 SQL。如果你有使...

2018-09-29 15:52:00 175

原创 04 解决实体类和字段名冲突问题

简介1. 给字段取一个别名,别名和实体类属性名相同2. 定义resultMap简介当表字段和Java Bean 类中属性不一致(Java采用驼峰命名,表采用下划线命名)时,MyBatis 是无法实现自动封装数据,此时我们需要手动指定表字段和属性的对应关系(类似Hibernate 中实体映射文件)。在MyBatis 中处理不一致有如下两种方案:1. 给字段取一个别名,别名和实体类属性...

2018-09-29 15:51:36 601

原创 03 MyBatis CRUD操作

1. 编写实体类2. 创建Mapper接口3. Mapper 接口映射4. 注册Mapper 接口映射5. 从 XML 中构建 SqlSessionFactory6. 不使用 XML 构建 SqlSessionFactory7. 从 SqlSessionFactory 中获取 SqlSession8. 通过SqlSession 获得Mapper对象7. 作用域(Scope)和生...

2018-09-29 15:51:18 267

原创 02 MyBatis 环境搭建

1. 添加相应JAR包2. 添加日志文件3. 添加MyBatis的总配置文件4. 编写持久层接口(Mapper 接口编写)5. Mapper 接口映射6. 注册Mapper 接口映射7. CRUD 操作1. 添加相应JAR包非Maven要使用 MyBatis,只需将mybatis-x.x.x.jar 文件置于 classpath 中即可。Maven<depende...

2018-09-29 15:51:02 103

原创 01 MyBatis 介绍

1.初始MyBatis2. 背景介绍3. 总体流程4. 特点1.初始MyBatisMyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。iBATIS一词来源于“internet”和“abatis”的组合...

2018-09-29 15:50:39 105

原创 10 OGNL 表达式

Struts 2支持以下几种表达式语言OGNL(Object-Graph Navigation Language),可以方便地操作对象属性的开源表达式语言;JSTL(JSP Standard Tag Library),JSP 2.0集成的标准的表达式语言。Groovy,基于Java平台的动态语言,它具有时下比较流行的动态语言(如Python、Ruby和Smarttalk等)的一些起特性...

2018-09-29 15:50:06 112

原创 22 MyBatisPlus 代码生成器

简介引入对应 JAR示例代码简介AutoGenerator 是 MyBatis-Plus 的代码生成器,通过 AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各个模块的代码,极大的提升了开发效率。引入对应 JAR<!-- Apache velocity --><dependen...

2018-09-28 11:28:58 257

原创 21 MyBatis-Plus 配置详解

配置1. Spring MVC & Spring Boot 整合 MyBatis-PlusSpring BootSpring MVC2. 基本配置2.1 configLocation2.2 mapperLocations配置MyBatis-Plus 的配置异常的简单,我们仅需要一些简单的配置即可使用 MyBatis-Plus 的强大功能!注意文章中所有的...

2018-09-28 11:28:40 11563 3

原创 20 MyBatis-Plus 集成 Spring MVC、Spring Boot

SpringMVC 版本Spring Boot 版本全新的 MyBatis-Plus 3.0 版本基于 JDK8,提供了 lambda 形式的调用,所以安装集成 MP3.0 要求如下:JDK 8+Maven or GradleJDK7 以及下的请参考 MP2.0 版本2.0官网文档SpringMVC 版本Maven:<dependency> &lt...

2018-09-28 11:28:16 528

原创 17 乐观锁插件

主要适用场景乐观锁配置主要适用场景意图:当要更新一条记录的时候,希望这条记录没有被别人更新乐观锁实现方式:取出记录时,获取当前version更新时,带上这个version执行更新时, set version = newVersion where version = oldVersion如果version不对,就更新失败乐观锁配置插件配置spring xml&...

2018-09-28 11:27:56 279

原创 16 MyBatisPlus 中逻辑删除

简介实现步骤1. 全局配置中注入逻辑删除2. 全局策略配置中,开启 DB 策略配置简介逻辑删除原理就是给表中添加一个状态字段。设置状态为删除状态,查询时候排出删除状态即可。逻辑删除下的数据依然在数据库中,只是状态改变而已。实现步骤1. 全局配置中注入逻辑删除<!-- 注入逻辑删除 --><property name="sqlInjector"&g...

2018-09-28 11:27:36 3136

原创 15 性能分析插件 - PerformanceInterceptor

简介性能分析插件使用步骤简介性能分析拦截器(插件),用于输出每条 SQL 语句及其执行时间性能分析插件使用步骤sqlSessionFactory 注册性能分析插件<!-- 注册性能分析插件 --><bean class="com.baomidou.mybatisplus.extension.plugins.PerformanceInterceptor"...

2018-09-28 11:27:12 5027

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除