自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 java.lang.IllegalArgumentException: script_lang not supported [ctx._source.text='leven2']

elasticsearch6.6官方Java示例Update By Query ApiJava客户端Api注意位置!!!

2019-04-01 11:29:43 1081

原创 小程序服务消息通知集成

微信接口文档:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/template-message.html调用微信服务消息的请求接口为:https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=ACCESS_T...

2019-03-13 17:49:25 2000

原创 根据经纬度计算距离

import java.math.BigDecimal;import java.text.DecimalFormat;import java.util.Formatter.BigDecimalLayoutForm;public class DisUtil { private static final double EARTH_RADIUS = 6378137;//赤道半径(单位m)...

2019-03-12 10:16:08 1830 1

转载 权限管理——RBAC模型总结

[文章出处](http://blog.csdn.net/liujiahan629629/article/details/23128651)         权限管理,这是每个软件系统都会涉及到的,而且权限管理的需求本质往往都是一样,无在乎怎么的角色拥有怎样的权限,只要你充当了这个角色,你就拥有了这些功能。        举个简单例子:一个老师在学校教室她就拥有教书育人的权利义务,一个丈夫在家就有

2017-08-28 11:02:52 363

原创 堆排序

堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法,它是选择排序的一种。先说 一下什么是堆。二叉堆的定义: 堆分为大根堆和小根堆两种。对于一个小根堆,它是具有如下特性的一颗完全二叉树。若树根结点存在左孩子,则根结点的值(或某个域的值)小于等于左孩子结点的值(或某个域的值);若树根结点存在右孩子,则根结点的值(或某个域的值)小于等于右孩子结点的值(或某个域的值);以

2017-08-23 16:50:05 163

原创 快速排序

基本思想 设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用数组的第一个数)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序。但是快速排序不稳定,相同的值排序后位置可能会发生改变。代码实现package jun.test;public class QuickSort { public static void main

2017-08-21 10:31:34 173

原创 多条件组合查询

方法一://多条件组合查询 public List<Customer> findMoreCondition(Customer customer) { //1-使用hibernate模板里面find方法实现 //拼接hql语句 String hql = "from Customer where 1=1"; //创建list集合,如

2017-08-21 09:27:10 2289

原创 拦截器

java里的拦截器是动态拦截Action调用的对象。它运行在action对象创建之后,action的方法使用之前执行。在action方法执行之前执行拦截器,执行过程使用aop思想。执行多个拦截器时使用责任链设计模式。自定义拦截器代码import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.Action

2017-08-19 10:39:57 248

原创 Ajax异步校验

用的框架:struts2、Spring、Hibernate jsp界面(部分):<script> function checkUsername(){ //获得文本框的值 var username = document.getElementById("username").value; //传统Ajax校验 //1.创建异步交互

2017-08-08 19:04:36 368

原创 计数排序

技术数组是一个用空间换时间的算法,直接代码分析public class countSort { public static void main(String[] args) { int[] a = new int[]{1,4,2,3,4,8,5}; sort(a,9); for(int i=0; i<a.length; i++){

2017-08-07 20:46:51 238

转载 struts2请求过程源码分析

Struts2是Struts社区和WebWork社区的共同成果,我们甚至可以说,Struts2是WebWork的升级版,他采用的正是WebWork的核心,所以,Struts2并不是一个不成熟的产品,相反,构建在WebWork基础之上的Struts2是一个运行稳定、性能优异、设计成熟的WEB框架。  我这里的struts2源码是从官网下载的一个最新的struts-2.3.15.1-src.zip,将

2017-08-07 13:09:07 245

原创 归并排序

先说说归并的概念:归并就是将两个或多个有序表合并成一个有序表的过程。若将两个有序表合成一个有序表则称为二路归并,同理,有三路归并、四路归并等。二路归并最为简单和常用。 归并排序就是指利用归并操作把一个无序表排序成一个有序表的过程。 利用二路归并操作进行排序称为二路归并排序,具体过程:首先把待排序表中的每一个元素都看做一个有序表,那么n个元素构成n个有序表。接着两两归并一趟归并得到[n/2]个

2017-08-03 18:37:26 348

原创 ssh中分页

1.写一个JavaBeanimport java.util.List;public class PageBean { private Integer currentPage;//当前页 private Integer totalPage;//总页数 private Integer totalCount;//总纪录数 private Integer pageCount

2017-08-02 15:44:37 195

原创 (5)二叉树

二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”和“右子树”,左子树和右子树同时也是二叉树。 二叉树若直接定义可能会造成畸形,对树畸形的改进一般有两种方法, - 方法一:平衡二叉树。 - 方法二:红黑树。 对平衡二叉树的定义:左右子树的高度相差不超过1。 调整方法:http://blog.csdn.net/a454042522/article/details/85914

2017-08-01 21:09:07 177

原创 (4)链表

链表相比与数组,在进行循环遍历时效率不高,但是插入和删除的优势明显。 链表实际上是由节点组成的,一个链表对外暴露的只有根节点,我们对链表的所以操作都是直接或间接的通过根节点来进行的。 而节点是由一个需要存储的对象和对下一节点的引用组成的,即节点拥有两个成员:存储的对象、下一节点的引用。 写一个简单链表。package jun.text;class Link{//链表类,外部能够看见的只有这一个

2017-07-31 11:07:47 160

原创 (3)队列

队列相比与栈的特点是先进先出,和日常生活中的排队是一样的。 写一个简单队列:public class Queue { private Object[] data; private int maxSize; //队列的最大长度 private int front; //队头 private int rear; //队尾 priva

2017-07-30 12:30:53 289

原创 (2)栈

栈是限定仅在表头进行插入和删除操作的线性表。栈作为一种数据结构,按照先进后出的原则存储数据,先进的数据被压在栈底,最后的数据放在栈顶,栈数据的插入称为入栈,栈数据的的删除称为出栈。 栈分为顺序栈和链式栈。 下面编写一个顺序栈,用数组实现。public class Stack { private Object[] data; private int maxSize;

2017-07-29 11:12:32 170

原创 (1)简单数组

编写一个数组:public class TestArray { private int[] arr; private int maxSize; //数组大小 private int length; //当前长度,即数组中有多少项 /** * * @Description:初始化数组 * @param max 数组大小

2017-07-28 14:05:05 429

原创 数据库——(17)存储过程

存储过程简称过程,procedure,一种用来处理数据的方式 存储过程是一种没有返回值的函数创建过程 基本语法: create procedure 过程名字([参数列表]) begin 过程体 end查看过程 函数的查看方式完全适用于过程:关键字换成procedure 查看所有过程:show procedure status[like ‘pattern’]; 查看过程创建语句:sho

2017-07-26 21:48:07 236

原创 数据库——(16)函数

函数分为两类:系统函数和自定义函数系统函数 系统定义好的函数,直接调用即可。 任何函数都有返回值,因此函数的调用是通过select调用。 MySQL中,字符串的基本操作单位(最常见的是字符) 一些:substring,char_length,length,instr:判断某个字符是否存在,存在返回位置,失败返回0。lpad:左填充,将字符串按照某个指定的填充方式填充到指定长度。inse

2017-07-26 15:39:42 311

原创 数据库——(15)触发器

触发器:trigger,事先为某张表绑定好一段代码,当表中的某些内容发生改变的时候(增和改)系统会自动触发代码、执行。 触发器要素:事件类型,触发时间,触发对象事件类型:增删改:insert,delete,update触发时间:前后:before,after触发对象:表中的每一条纪录(行)一张表中只能拥有一种触发时间的一种类型的触发器,最多一张表能有6个触发器。创建触发器 在MySQL高级

2017-07-26 13:58:58 223

原创 数据库——(14)变量

变量分为两种:系统变量和自定义变量系统变量 系统定义好的变量:大部分的时候用户根本不需要使用系统变量,系统变量用来控制服务器的表现,如autocommit,auto_increment等。查看系统变量:show variables; 查看变量值:select @@变量名; 修改系统变量:两种方式:会话级别和全局级别会话级别:临时修改,当前客户端当次连接有效set 变量名 = 值;set @@

2017-07-26 13:20:48 314

原创 数据库——(13)事务

事务:transaction,一系列要发生的连续的操作。事务安全:一种保护连续操作同时实现的一种机制。 事务安全的意义:保证数据操作的完整性。事务原理 事务操作原理:事务开启之后,所有的操作都会临时保存到事务日志,事务日志只有在得到commit命令才会同步到数据表,其他任何情况都会清空(rollback,断电,断开连接)。 事务操作 事务操作分为两种:自动事务(默认的)、手动事务手动事务:1

2017-07-26 11:25:44 231

原创 数据库——(12)数据备份与还原

备份:将当前已有的数据或者纪录保留 还原:将已经保留的数据恢复到对应的表中为什么要做备份还原?1.防止数据丢失:被盗、误操作。2.保护数据纪录数据备份还原的方式有很多种:数据表备份、单表数据备份、SQL备份、增量备份。数据表备份 不需要通过SQL来备份:直接进入到数据库文件夹复制对应的表结构以及数据文件,以后还原的时候,直接将备份的内容放进去就行。前提条件:根据不同的存储引擎有不同的区别。

2017-07-25 21:13:14 380

原创 数据库——(11)视图

视图:view,是一种结构(有行有列)但是没有结果(结构中不真实存放数据)的虚拟表,虚拟表的结构来源不是自己定义,而是从对应的基表中产生(视图的数据来源)。创建视图 基本语法:create view 视图名字 as select 语句;创建单表视图:基表只有一个create view my_v1 as select * from my_class;创建多表视图:基本至少两个create view

2017-07-25 15:17:44 275

原创 数据库——(10)联合查询和子查询

联合查询 将多次查询(多条select语句),在纪录上进行拼接(字段不会增加)。 基本语法:多条select语句构成,每一条select语句获取的字段数必须严格一致(但是字段类型无关)。 select 语句1 union[union 选项] select 语句2…….; union选项:与select选项一样有两个,但默认的有区别all:保留所有distinct:去除重复(默认的)sel

2017-07-25 13:02:38 495

原创 数据库——(9)外键

外键:foreign key,外面的键(键不在自己表中):如果A表中有一个字段(非主键)指向B表中的主键,那么称该字段为外键。增加外键 外键可以在创建表的时候或者创建表之后增加(但是要考虑数据的问题)。 1.创建表的时候增加外键:在所有的表字段之后,使用foreign key(外键字段)references 外部表(主键字段)。create table my_foreign1(id

2017-07-25 09:52:40 735

原创 数据库——(8)连接查询

连接查询:将多张表进行纪录的连接(按照某个指定的条件进行数据拼接)。 最终结果是:纪录数有可能变化,字段数一定会增加(至少两张表的合并)。连接查询的意义:在用户查看数据的时候,需要显示的数据来自多张表。 连接查询:join,使用方式:左表 join 右表 左表:join左边的表;右表:join右边的表。 SQL中将连接查询分为四类:内连接,外连接,自然连接和交叉连接。交叉连接:cro

2017-07-24 19:47:07 204

原创 数据库——(7)数据高级操作

新增数据 基本语法:insert into 表名[(字段列表)] values(值列表); 当主键存在冲突的时候,可以选择性的进行处理:更新和替换。 主键冲突:更新操作 insert into 表名[(字段列表:包含主键字段)] values(值列表) on duplicate key update 字段=新值; 主键冲突:替换 Replace into 表名[(字段列表:包含主键)]

2017-07-24 13:08:03 258

原创 数据库——(6)关系和范式

关系:将实体与实体的关系,反应到最终数据库表的设计上来。将关系分为三种:一对一、一对多、多对多。 所有的关系都指的是表与表之间的关系范式:Nomal Format,是一种离散数学中的知识,是为了解决一种数据的存储与优化的问题:保存数据的存储之后,凡是能通过关系寻找出来的数据,坚持2重复存储:终极目标是为了减少数据的冗余。 范式是一种分层结构的规范,分为6层:每一层都比上一层更加严格:若要满足下一

2017-07-24 10:46:50 601

原创 数据库——(5)列属性

列属性 列属性:真正约束字段的是数据类型,但是数据类型的约束很单一需要一些额外的约束来更加保证数据的合法性。有以下属性:1.空属性:NULL(默认)和NOT NULL(不为空)。 虽然默认的数据库基本都是字段为空,都是在实际开发的时候,尽可能保证所有的数据都不应该为空,因为空数据没有意义,空数据没有办法参与计算。create table my_teacher(name varchar(20)

2017-07-23 20:50:50 550

原创 数据库——(4)数据类型

所谓数据类型:对数据进行统一分类,从系统的角度出发是为了能够统一的方式进行管理,更好的利用有限的空间。 SQL中将数据类型分成三大类:数值类型,字符串类型和时间日期类型。一、数值类型 都是数值,分为整数型和小数型: 整数型:考虑节省磁盘空间,系统将整数型细分为5类 1.Tinyint(常用):迷你整形,使用1个字节存储,表示的状态最多为256种(

2017-07-23 11:06:19 552

原创 数据库——(3)数据操作

*数据操作*新增数据 方案1:给全表字段插入数据,不需要指定字段列表:要求数据的值出现的顺序必须与表设计的字段出现的顺序一致:凡是非数值数据,都需要使用引号包裹。 insert into 表名 values(值列表); –可以一次性插入多条数据。 方案2:给部分字段插入数据 insert into 表名(字段列表) values(值列表);查看数据 select */字段列表 from 表

2017-07-22 13:30:28 247

原创 数据库——(2)库操作和表操作

*库操作* 对数据库的CRUD 基本语法 Create database 数据库名字[库选项]; 库选项:用来约束数据库,分为两个选项 字符集设定:charset/character set 具体字符集(数据存储的编码格式):常用GBK和UTF8(注意没有不是UTF-8) 校对集设定:collate 具体校对集(数据比较的规则) 其中:数据库名字不能用关键字或者保留字,

2017-07-22 13:02:57 330

原创 数据库——(1)基础知识

1.什么是数据库? 数据库:database,存储数据的 数据库:高效的存储和处理数据的介质(主要是两种:内存和磁盘)2.数据库的分类? 基于存储介质不同,分为两类:关系型数据库(SQL)和非关系型数据库(NoSQL:Not Only SQL,不是关系型数据库都叫非关系型数据库)3.不同的数据库产品? 关系型数据库 大型:Oracle,DB2 中型:SQL-SE

2017-07-22 11:12:06 447

原创 简单排序——希尔排序

基本思想: 将数组下标按一定增量进行分组,然后将被分组的元素进行排序(并不是只有两个元素进行比较,而是多个),一次排序完成后再取比第一次小的增量进行排序,直到增量为1。 图解(这是引用百度百科的图,增量依次为5,3,1) 代码实现:public static void shellSort(int arr[]){ //这里将初始增量为数组长度一半(并不代表一定要这样

2017-07-20 21:16:18 205

原创 简单排序——选择排序

基本思想: 每次从待排序序列中选出最大或最小的元素放在序列的起始位置,直到所有待排序的元素排列完成代码实现:public static void main(String[] args) { int[] array = new int[]{1,3,6,2,8,7,10,4,9,5}; selectSort(array);//选择排序,不稳定 }

2017-07-19 16:31:40 182

原创 简单排序——直接插入排序

基本原理: 对于给定的一组初始数据,假定其第一个数据为有序序列,从第二个数据开始为无序序列,接着从第二个数据开始,依次和之前有序序列比较,插入到合适位置。代码实现:public static void main(String[] args) { int[] array = new int[]{1,3,6,2,8,7,10,4,9,5}; insertS

2017-07-19 10:25:57 256

原创 简单排序——冒泡排序及其优化

冒泡排序的基本思想: 首先根据顺序将两个相邻的元素进行两两比较,将两个元素按从小到大或从大到小的顺序交换,这样完成一轮比较后,最大或最小的元素将被换到最后一位,然后再从头开始进行两两比较,这样找出第二大或第二小的元素放在倒数第二位,以此类推。冒泡排序的Java实现:public class BubbleTest { public static void main(String[]

2017-07-18 18:09:48 253

原创 ssm整合的配置文件

1.首先整合dao 第一步配置mybatis自己的配置文件SqlMapConfig.xmlconfiguration> typeAliases> package name="jun.ssm.po" /> typeAliases> -->configuration>第二步配置spring配置文

2017-07-13 17:35:57 1066

空空如也

空空如也

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

TA关注的人

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