自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(148)
  • 资源 (1)
  • 收藏
  • 关注

原创 Hexo修改配置文件安装插件仍无法加载图片解决办法

把博客的编码格式设置为UTF-8试试。。。。。。。。。。

2020-08-12 21:01:19 404

原创 【Lucene&Solr】Solr实现全文检索

一、Solr是什么Solr 是Apache下的一个顶级开源项目,采用Java开发,可以独立运行在Jetty、Tomcat等这些Servlet容器中,它是基于Lucene的全文搜索服务器。Lucene与Solr的区别如下:Lucene是一个开放源代码的全文检索引擎工具包,它不是一个完整的全文检索引擎,但提供了完整的查询引擎和索引引擎,目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者以Lucene为基础构建全文检索引擎。Solr的目标是打造一款企业级的搜索引擎系

2020-07-10 15:12:34 418

原创 【Lucene&Solr】Lucene实现全文检索

一、全文检索对于结构化数据如MySQL表中的数据可以用SQL语句来查询,而对于非结构化数据如磁盘上的文件、网站的资源等就需要用到顺序扫描法或全文检索法。但是顺序扫描法效率非常低,此时就需要全文检索法。全文检索法是将非结构化数据中的一部分信息提取出来进行组织使其变得有结构,提取的这部分信息称其为索引,根据索引快速定位到要查找的信息。字典的拼音表和部首检字表就相当于字典的索引。实现全文检索可以使用Lucene技术。Lucene是apache下的一个开放源代码的全文检索引擎工具包。提供了完整的查询引擎

2020-07-09 21:45:30 280

原创 【Linux】CentOS系统NAT网络连接修改配置文件设置静态IP地址

1、查看CentOS的网关:单击虚拟机的“编辑”选项卡,选择“虚拟网络编辑器”,弹出下面的界面,将光条选中“VMnet8”,然后点击“NET设置”:2、设置本机上的VMnet8的网关(保证其与虚拟机一致):3、编辑文件“/etc/sysconfig/network-scripts/ifcfg-eth0”:执行指令:vim /etc/sysconfig/network-scripts/ifcfg-eth0修改下图指明的地方后保存退出:4、重启服务:要么执行:reboot要么执行:serv

2020-06-17 16:49:55 236

原创 【Linux】为VMware上的CentOS系统添加一块新的硬盘

一、分区的两种方式1、mdr分区:最多支持四个主分区,系统只能安装在主分区,扩展分区也要占据一个主分区。该种方式最大支持2TB的大小,但是具有较好的兼容性。2、gtp分区:支持很多个主分区,最大支持18EB的容量,Win7 64位后支持该种方式的分区。二、Windows和Linux分区的区别1、Windows分区:分为主分区(例:C盘)和扩展分区,扩展分区分为多个逻辑分区(例:D盘、E盘、F盘)。2、Linux分区:Linux分区采用挂载的处理方法,无论其分区有几个,Linux系统中只有一个根目录

2020-06-17 14:43:20 1635

原创 【Linux】CentOS6进入单用户界面与找回root用户密码

注意:如果在虚拟机中则以下操作需要将鼠标光标进入虚拟机。1、开启虚拟机待加载到下个界面时迅速按下Enter键:2、点击Enter键后显示如下界面后点击e键:3、点击e键后显示如下界面后将光条移动至图中位置,然后点e键:4、点击e键后显示如下界面后在“quiet”后输入“1”,如下图:5、输入“1”后回车进入如下界面后点击b键:6、待加载完毕后即是单用户界面。附:若忘记root用户密码则可以以此方式进入单用户界面,然后以“passwd root”指令来重置root用户密码。...

2020-06-15 14:06:07 459

原创 【Java】第四十三节 TCP与UDP的区别

套接字Socket:TCP通信与UDP通信需要用到Socket:为了方便开发网络应用程序,美国伯克利大学在Unix上实现的一种应用程序访问网络的通信协议Socket,Socket的出现使程序员可以很方便的访问TCP/IP。使用TCP进行通信:服务器程序将一个套接字绑定到一个特定的端口,并通过此套接字等待和监听客户端到端口的连接请求。package server;import java....

2020-03-06 13:03:21 1435

原创 【Java】第四十二节 线程池

一、为什么要用线程池1、提高程序的执行效率如果程序中有大量短时间任务的线程任务,由于创建和销毁线程需要和底层操作系统交互,大量时间都耗费在创建和销毁线程上,因而比较浪费时间,系统效率很低;线程池里的每一个线程任务结束后,并不会死亡,而是再次回到线程池中成为空闲状态,等待下一个对象来使用,因而借助线程池可以提高程序的执行效率。2、控制线程的数量,防止程序崩溃如果不加限制地创建和启动线程很容易...

2020-03-06 12:18:59 146

原创 【Java】第四十一节 NIO之Buffer和Channel

NIO(New IO)概念:JDK1.4版本开始,JDK提供了新的IO操作API, NIO提供多路(non-blocking) 非阻塞式的高伸缩性网络I/O,从而提高了效率,NIO主要有三大核心组件:Channel、Buffer和Selector(此处仅介绍前两种)一:Buffer之ByteBufferBuffer是一个抽象类,Buffer类型变量对应的对象代表一块缓冲区,ByteBuffe...

2020-03-03 13:14:03 177

原创 【SSM】SSM之MyBatis框架:MyBatis的缓存技术

一、缓存:请先观察下面程序的执行结果:package cn.jingpengchong.userinfo.test;import java.io.IOException;import java.io.InputStream;import java.util.List;import org.apache.ibatis.io.Resources;import org.apache.i...

2020-03-02 13:08:06 1483

原创 【SSM】SSM之SpringMVC框架:SpringMVC的工作原理

客户端发送的请求被DispatcherServlet捕获后其流程如下:其大致流程如下:1、用户发送请求至前端控制器DispatcherServlet。2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。3、处理器映射器如果没有找到具体的处理器:如果配置了<mvc:default-servlethandler/>,就调用默...

2020-03-01 13:31:12 361

原创 【SSM】SSM之SpringMVC框架:拦截器的应用与分析

一:拦截器的应用在Web应用中,拦截器可以用来处理异常、记录日志、登录拦截或权限认证等操作。在SpringMVC中,定义一个拦截器也十分简单,Spring提供了一个拦截器的接口HandlerInterceptor,实现该接口即可自定义一个拦截器。我们还是拿上篇博客创建的工程为例,对其进行改造。1、创建一个类,实现接口HandlerInterceptor:在src下新建一个包“cn.jingp...

2020-02-28 17:29:18 370

原创 【SSM】SSM之SpringMVC框架:异常的处理

异常处理的方式一:注解方式如果只为某个控制器中的方法抛出的异常进行处理,可以在该控制器中定义一个方法,使用@ExceptionHandler()注解修饰它,该注解的括号内表明要处理的异常类型。这样的话当该控制器抛出异常时就会被相应的添加了@ExceptionHandler()注解的类被捕获并处理,例如,将上篇博客中的HelloController处理器进行如下修改:package cn.jin...

2020-02-27 20:48:00 326

原创 【SSM】SSM之SpringMVC框架:自定义视图及其执行过程

一:如何自定义视图我们之前接触到的非自定义视图有个InternalResourceView,我们也分析到当一个接收到一个请求后,程序执行到的renderMergedOutputModel()方法其实是AbstractView的子类InternalResourceView中的方法。InternalResourceView类最终实现了一个接口View,实现了该接口的类都是Spring提供的视图,...

2020-02-27 14:02:09 607

原创 【SSM】DAO层开发的福音--逆向工程

第一步:创建一个项目,拷贝jar包第二步:在src目录下配置日志输出文件:log4j.properties### direct log messages to stdout ###log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target=System.outlog4j.appen...

2020-02-26 21:50:35 165

原创 【Java】详述ThreadLocal

在多线程环境下,每个线程都有自己的数据。一个线程使用自己的局部变量比使用全局变量好,因为局部变量只有线程自己能看见,不会影响其他线程。ThreadLocal能够放一个线程级别的变量,其本身能够被多个线程共享使用,并且又能够达到线程安全的目的。说白了,ThreadLocal就是想在多线程环境下去保证成员变量的安全,常用的方法,就是get/set/initialValue方法。ThreadLoca...

2020-02-25 23:10:43 134

原创 【SSM】SSM之SpringMVC框架:@SessionAttributes注解

@SessionAttributes注解用于将控制类中的方法返回的对应的数据保存在session中,该注解只能用在类上。下面将介绍几种将数据传递给页面的同时怎样保存在session中的方式。Map的put()方法:@Controller@SessionAttributes(value = { "id" })public class StudentController { @Reque...

2020-02-25 22:13:35 515

原创 【SSM】SSM之SpringMVC框架:数据格式化

@DateTimeFormat:@DateTimeFormat注解可对java.util.Date、java.util.Calendar、java.long.Long时间类型进行标注:pattern 属性:类型为字符串。指定解析/格式化字段数据的模式,如:yyyy-MM-ddhh:mm:ssISO属性:指定解析/格式化字段数据的ISO模式,包括四种:ISO.NONE(默认值,不使用)、IS...

2020-02-25 21:27:22 352

原创 【SSM】SSM之SpringMVC框架:数据类型转换器

SpringMVC默认的数据类型转换器控制器中与请求相匹配的方法可以根据参数名获得请求中name与之相同的数据,并且能够自动将其类型进行转换,这主要得益于SpringMVC默认的数据类型转换器,这些默认的数据类型转换器已经满足了大多数需求:java.lang.Boolean -> java.lang.String : org.springframework.core.convert.su...

2020-02-25 21:03:49 621

原创 【SSM】SSM之框架整合:整合思路

一、创建web工程,导入jar包1、在lib文件夹中添加所需jar包:2、将工程原有的src目录删除,创建如下四个Source Folder:3、在“src/main/java”中创建如下包结构,包名自定义,但是最里层包名推荐与此一致:4、在“WebContent”中的“WEB-INF”目录下创建文件夹“jsp”,根据模块需求在“jsp”目录下创建其他文件夹。二、添加properti...

2020-02-24 21:54:57 934

原创 【Spring】Spring的IOC的注解开发

一、创建项目,引入jar包:创建一个名为spring的java工程,我们顺便拷贝个log4j.properties文件,在Spring4的开发中,除了引入基本的开发包以外,还需要引入aop的包。所以我们需要的jar包如下:二、创建Spring的配置文件在src目录下创建一个文件“applicationContext.xml”,并引入context的dtd约束,因为这是注解开发所必需的。除此...

2020-02-24 21:03:06 131

原创 【SSM】SSM之SpringMVC框架:SpringMVC一个请求执行过程

一个简单的SpringMVC程序:我们先通过创建一个简单的动态的JavaWeb项目“springmvc01”来认识一下SpringMVC,这样方便我们对其进行分析。1、拷贝jar包:对于所有框架而言,这一步都是必不可少的,我们需要在web工程的“WEB-INF”的目录下的lib文件夹中拷贝下列jar包,由于SpringMVC是spring家族的,使用它就必不可少的要拷贝spring框架的ja...

2020-02-19 22:29:43 663

原创 【SSH】SSH之Hibernate框架:在hibernate中的配置表关系和执行级联操作

一、数据库中表之间的关系以及如何创建:数据库中表的关系有以下三种:1、一对多(也即多对一):在“多”的一方设置与“一”的一方的主键关联的外键;2、多对多:创建一个至少有两个字段的中间表,其中两个字段分别设置成与关系表的主键关联的外键。多对多关系可以看作是两个一对多关系:“一”的一方是关系表,“多”的一方是中间表;3、一对一:创建一对“一对多”关系的表,把“多”的一方的外键设置为unique...

2020-02-13 22:20:27 215

原创 【Spring】代理模式 与 Spring中的jdk动态代理和cglib动态代理

代理模式:代理模式的定义:代理模式(Proxy Pattern)是程序设计中的一种设计模式。为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。代理模式的组成:1、抽象角色:通过接口或抽象类声明真实角色实现的业务方法。2、真实角色:实现抽象角色,定义真实角色所要实现的业务逻辑,供代理角色...

2020-02-10 13:25:46 367

原创 【SSH】SSH之Hibernate框架:事务管理与线程绑定Session

事务1、事务:操作数据库中各种数据项的一个程序执行单元。2、事务的特性:原子性:事务是执行数据库一系列操作的最小单位,不可再分;一致性:一个事务中的各项操作要么同时成功,要么同时失败;隔离性:一个事务的操作不受其他事务的干扰;持久性:事务一旦提交,不可回滚。3、事务的并发操作可能出现的问题:脏读:一个事务读取到了另一个事务已经更新但没有提交的数据;不可重复读:一个事务在另一...

2020-02-09 14:29:24 264

原创 【SSH】SSH之Hibernate框架:Hibernate的一级缓存

Hibernate的缓存Hibernate的缓存是Hibernate提供的一种优化程序的方式,将从数据库查询到的数据存入内存中,避免频繁的访问数据库,当缓存中有需要的数据时就不需要再去数据库查询,这样做不但可以提高访问速度,而且还可以避免因为频繁的访问数据库而造成的计算机性能的消耗。Hibernate提供了两个级别的缓存:一级缓存和二级缓存。一级缓存:一级缓存是Session级别的缓存,其生...

2020-02-08 22:54:03 114

原创 【SSH】SSH之Hibernate框架:Hibernate的主键生成策略

主键:自然主键:用表中一个有实际意义的字段(对应持久化类中的一个有实际意义的属性)来作为主键,例如创建的一个人员表,用人员的身份证号作为主键。代理主键:不是表中一个有实际意义的字段,它的存在仅仅是用来作为每条记录的唯一标识。在设置主键的时候通常用代理主键,因为自然逐渐是一个有实际意义的字段,有可能会更改,而代理主键没有实际意义,不存在后续更改的情况。Hibernate的代理主键生成策略:在...

2020-02-08 16:38:05 193

原创 【SSH】SSH之Hibernate框架:持久化类及其要求和对象的状态

持久化类持久化:将内存中的数据存入硬盘中以便持久保存的过程。Hibernate框架就用于持久化的框架。持久化类:一个Java类与数据库表建立了映射关系,那么这个类在hibernate框架中就称为持久化类。定义一个持久化类需要一个Java类和与之对应的映射文件。持久化类的要求1、构成持久化类的Java类必须提供一个无参构造方法,因为Hibernate底层需要用到反射机制来生成持久化类的实例;...

2020-02-08 15:52:07 227

原创 【SSH】SSH之Hibernate框架:Hibernate的核心API

Hibernate的API一共有6个,分别为:Session、SessionFactory、Transaction、Query、Criteria和Configuration。通过这些接口,可以对持久化对象进行存取、事务控制。一、Configuration:Configuration 类的作用是对Hibernate 进行配置,以及对它进行启动。在Hibernate 的启动过程中,Configur...

2020-02-07 23:21:16 114

原创 【Spring】Spring提供的事务管理

Spring提供的声明式事务管理:大多数情况下比编程式事务管理更好用,它将事务管理代码从业务方法中分离出来,以声明的方式来实现事务管理,Spring声明式事务管理建立在AOP基础之上,是一个典型的横切关注点,通过环绕增强来实现,其原理是对方法前后进行拦截,然后在目标方法开始之前创建或加入一个事务,在执行完毕之后根据执行情况提交或回滚事务,其模型如下:public Object around(P...

2020-02-07 16:51:11 264

原创 【Spring】JdbcTemplate的常用方法

JdbcTemplate是Spring JDBC的核心类,借助该类提供的方法可以很方便的实现数据的增删改查。下面将在一个例子中介绍该类的几个常用的方法。本博客用例:1、创建一个Java或web项目,导入spring所需jar包、数据库连接jar包、日志包及Hikari的jar包;2、在src目录下新建包“cn.jingpengchong.vo”,并创建一个与数据库中user_info表对应的...

2020-02-07 13:25:47 2668 1

原创 【Spring】数据库连接池及其在Spring中如何配置

什么是数据库连接池:定义:数据库连接池(Database Connection Pooling):数据库连接池是计算机内存中的一块内存,它存储了一些已经创建好的数据库连接对象。数据库连接池负责创建数据库连接,还负责分配、管理和释放数据库连接。原理:当程序初始化时创建一定数量的连接对象;应用程序需要访问数据库时,就从数据库连接池中获得一个创建好的连接对象,应用程序结束访问后,释放的连接对象...

2020-02-06 20:51:02 1207

原创 【SSH】SSH之Hibernate框架:初识Hibernate

什么是Hibernate:Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的ORM框架,Hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。ORM:Object Relational Mapping(对象关系映射)。指的是将一个Java中的...

2020-02-06 15:03:37 247

原创 【Spring】Spring之AOP的执行顺序

切面中不同注解的切入点的执行顺序为:前置处理、后置处理、返回处理/异常处理,这个顺序是很好理解的。但是如果定义了多个切面类,并且里面有相同的处理环节时,如果不手动指定处理顺序,那么他们将按照字母顺序执行,如果指定了执行顺序,那么将按照指定的顺序执行。下面就来说明一下使用AOP的两种方式中是如何指定相同处理环节的执行顺序的。还是以处理下面的service层代码为例:package cn.jingp...

2020-02-05 13:26:58 643

原创 【Spring】Spring之初识AOP

什么是AOPAOP为Aspect Oriented Programming的缩写,意为:面向切面编程,Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务进行内聚性的开发。为什么用AOP应用对象只实现它们应该做的——完成业务逻辑——仅此而已。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,简化代码的同时提高了...

2020-02-04 21:53:37 146

原创 【SSM】SSM之MyBatis框架:动态SQL

MyBatis 的一个强大的特性之一通常是它的动态 SQL 能力。动态 SQL 元素和使用 JSTL 或其他相似的基于 XML 的文本处理器相似。(注:以下示例其他配置均与上篇一致)if:有时查询数据时,需要用到where来限定多个条件,但是有时也接受在调用该sql命令时传入其中的几个条件值,此时就需要用到if标签来动态的拼接用到的条件,例1:<select id="selByPriP...

2020-01-22 14:34:18 258

原创 【SSM】SSM之MyBatis框架:mappers 映射器的两种映射方案

mappers 映射器的两种映射方案:要定义 SQL 映射语句先要告诉 MyBatis 到哪里去找到这些语句。 Java 在这方面没有提供一个很好的方法, 所以最佳的方式是用mappers 映射器告诉 MyBatis 到哪里去找映射文件。mappers 映射器提供了两种映射方案,一是直接指定相应的mapper .xml文件,二是指定与mapper .xml相关联的接口。例如:<mappe...

2020-01-21 21:48:48 657 1

原创 【SSM】SSM之MyBatis框架:表数据的增删改查

下面的三种方式所用的实体类、表和全局配置与上篇博客所述相同。selectList():查询多条数据,每条数据都用一个对象存储,对象的属性值根据表的字段名和对象的属性名自动匹配赋值1、FlowerMapper.xml文件的配置如下:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//myb...

2020-01-18 20:22:35 193

原创 【SSM】SSM之MyBatis框架:初识MyBatis

MyBatis框架简介MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和实体类映射成数据库中的记录。每个MyBatis应用程序主要都是使用SqlSessionFactory实例的,一个SqlSessionFactory实例可...

2020-01-18 17:00:03 228

原创 【Java】第四十节 IO流之对象流

对象序列化机制:对象序列化机制允许把内存中的Java对象转换成平台无关的二进制流,从而允许把这种二进制流持久地保存在磁盘上,或通过网络将这种二进制流传输到另一个网络节点。当其它程序获取了这种二进制流,就可以恢复成原来的Java对象。对象序列化的条件:1、实现Serializable;2、定义全局常量private static final long serialVersionUID;3、...

2020-01-15 20:44:23 206

省市县三级数据建表语句和数据插入语句

该文件是省市县三级的数据,包括建表语句和插入数据的sql语句,复制进Navicat直接Run即可创建一张完整的省市县三级数据表

2019-12-06

空空如也

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

TA关注的人

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