- 博客(37)
- 收藏
- 关注
原创 使用BCrypt算法
1、在pom.xml中添加<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId></dependency>2、加密BCryptPasswordEn...
2018-06-04 17:47:04
1073
原创 spring security+spring boot +bcrypt登录及验证
通过Bcrypt进行密码加密,然后通过spring security进行登录的验证,通过一星期的百度和测试,终于可以验证成功了,结果一出来,那可以说是相当的激动,赶紧记下着美妙的时刻!一、用户注册: 下载BCrypt.java文件,编写一下文件BcryptCipher.java package cn.pp.manager.system.utils;import org.apache....
2018-06-04 10:48:17
2719
转载 BCrypt 加密实现
Bcrypt百度百科:1、 bcrypt,是一个跨平台的文件加密工具。由它加密的文件可在所有支持的操作系统和处理器上进行转移。它的口令必须是8至56个字符,并将在内部被转化为448位的密钥。2、bcrypt算法相对来说是运算比较慢的算法,在密码学界有句常话:越慢的算法越安全。算法越算,黑客破解成本越高.通过salt和const这两个值来减缓加密过程,ta的加密时间(百ms级)远远超过md5(大概1...
2018-05-31 17:40:28
1241
转载 Android selector的item里的属性说明
Selector是用来改变控件在不同状态(如:点击和不点击)下的行为,可以是颜色,或者上面的字。<shape>和<selector>在Android UI设计中经常用到。比如我们要自定义一个圆角Button,点击Button有些效果的变化,就要用到<shape>和<selector>。可以这样说,<shape>和<selector&...
2018-05-22 14:04:35
5152
转载 进程,线程,多线程,线程池
进程是线程的容器,一个进程包含多个线程。线程的定义是程序的执行路径。每个线程都定义了一个独特的控制流,如果应用程序涉及到复杂且耗时的操作,那么设置不同的线程执行路径会非常有好处,因为每个线程会被指定于执行特定的工作。单一线程会导致程序只能执行一个任务,为了使程序能执行多个任务,就要用到多个线程操作。线程的生命周期开始于对象的 System.Threading.Thread 类创建时,结束于线程被终...
2018-05-13 22:27:34
163
转载 实现SpringBoot单个、多个文件的上传
在企业级项目开发过程中,上传文件是最常用到的功能。SpringBoot集成了SpringMVC,当然上传文件的方式跟SpringMVC没有什么出入。下面我们来创建一个SpringBoot项目完成单个、多个文件的上传。本章目标使用SpringBoot项目完成单个、多个文件的上传处理,并将上传的文件保存到指定目录下。构建项目我们使用InteiilJ IDEA工具构建一个SpringBoot项目,项目先...
2018-05-10 19:37:47
6268
2
转载 IntelliJ IDEA手动配置连接MySQL数据库
先从菜单View→Tool Windows→Database打开数据库工具窗口,如下图所示:点击Database工具窗口左上角添加按钮“+”,选择数据库类型,这里以MySQL为例,如下图所示:填写数据库连接的主机名、数据库名、用户名和密码,如下图所示:点击Test Connection按钮进行测试数据库连接是否正常下图为连接正常的截图连接数据库成功后即可在右侧红框所示窗口内查看当前连接数据库的数据...
2018-05-05 14:35:22
292
转载 解析HTTP协议六种请求方法,get,head,put,delete,post有什么区别
标准Http协议支持六种请求方法,即:1、GET2、POST3、PUT4、Delete5、HEAD6、Options 但其实我们大部分情况下只用到了GET和POST。如果想设计一个符合RESTful规范的web应用程序,则这六种方法都会用到。不过即使暂时不想涉及REST,了解这六种方法的本质仍然是很有作用的。大家将会发现,原来web也是很简洁明了的。下面依次说明这六种方法。 ...
2018-04-23 16:20:03
223
转载 jQuery 获取本周 上周 本月 上月的时间
function dateFormatConversion(inputTime) { var date = new Date(inputTime); var y = date.getFullYear(); var m = date.getMonth() + 1; m = m < 10 ? ('0' + m) : m; var d = date.getD...
2018-04-20 16:06:27
5340
1
转载 mysql 查询当天、本周,本月,上一个月的数据
今天select * from 表名 where to_days(时间字段名) = to_days(now());昨天SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) <= 1近7天SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(时间...
2018-04-20 14:35:28
166
转载 Java DecimalFormat 用法(数字格式化)
我们经常要将数字进行格式化,比如取2位小数,这是最常见的。Java 提供 DecimalFormat 类,帮你用最快的速度将数字格式化为你需要的样子。下面是常用的例子:import java.text.DecimalFormat;public class Test{ public static void main(String[] args){ double pi=3....
2018-04-18 13:18:21
150
转载 java常用的几种线程池比较
1. 为什么使用线程池诸如 Web 服务器、数据库服务器、文件服务器或邮件服务器之类的许多服务器应用程序都面向处理来自某些远程来源的大量短小的任务。请求以某种方式到达服务器,这种方式可能是通过网络协议(例如 HTTP、FTP 或 POP)、通过 JMS 队列或者可能通过轮询数据库。不管请求如何到达,服务器应用程序中经常出现的情况是:单个任务处理的时间很短而请求的数目却是巨大的。构建服务器应用程序的...
2018-04-17 23:26:14
116
转载 Java线程池,isShutDown、isTerminated的作用与区别
ExecutorService的关闭shutdown和awaitTermination为接口ExecutorService定义的两个方法,一般情况配合使用来关闭线程池。方法简介shutdown方法:平滑的关闭ExecutorService,当此方法被调用时,ExecutorService停止接收新的任务并且等待已经提交的任务(包含提交正在执行和提交未执行)执行完成。当所有提交任务执行完毕,线程池即...
2018-04-17 23:14:41
2106
转载 Mybits自动生成实体类
第一种方式:通过Main方法执行配置文件。-------------------------------------------------------------------------------------------------------------------------------------1.创建本文我们将使用的工程Mybatis13,工程结构图如下:【重点文件我们给出,其他配置...
2018-04-16 10:47:38
480
转载 bootstrapValidator表单验证使用方法
在有jquery和bootstrap的页面里引入bootstrapValidator.js和bootstrapValidator.css文件然后建立一个form表单,添加表单控件,表单控件必须有绝对定位,不然会报错[html] view plain copy <form action="" method="POST" role="form" id="form-test"> &...
2018-04-12 13:26:47
371
转载 用的 lombok 注解
@EqualsAndHashCode:实现equals()方法和hashCode()方法 @ToString:实现toString()方法 @Data :注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法 @Setter:注解在属性上;为属性提供 setting 方法 @Getter:注...
2018-04-09 11:40:02
171
转载 Java,哈希码以及equals和==的区别
从开始学习Java,哈希码以及equals和==的区别就一直困扰着我。 要想明白equals和==的区别首先应该了解什么是哈希码,因为在jdk的类库中不管是object实现的equals()方法还是String重写的equals()方法以及其它基本数据类型的包装类重写的euqals()方法,他们在比较对象的时候都是根据hashCode()方法返回的哈希码来判断两个对象是否相等的,...
2018-04-09 11:27:09
567
转载 Java多线程和线程池
1.为什么要使用线程池在java中,如果每个请求到达就创建一个新线程,开销是相当大的。在实际使用中,服务器在创建和销毁线程上花费的时间和消耗的系统资源都相当大,甚至可能要比在处理实际的用户请求的时间和资源要多的多。除了创建和销毁线程的开销之外,活动的线程也需要消耗系统资源。如果在一个jvm里创建太多的线程,可能会使系统由于过度消耗内存或“切换过度”而导致系统资源不足。为了防止资源不足,服务器应用程...
2018-04-07 00:03:00
128
转载 java中sleep()和wait()方法的分析
1. Java中sleep和wait的区别① 这两个方法来自不同的类分别是,sleep来自Thread类,和wait来自Object类。sleep是Thread的静态类方法,谁调用的谁去睡觉,即使在a线程里调用b的sleep方法,实际上还是a去睡觉,要让b线程睡觉要在b的代码中调用sleep。② 锁: 最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步...
2018-04-03 14:58:03
144
转载 count(1)、count(*)与count(列名)的执行区别
执行效果:1. count(1) and count(*)当表的数据量大些时,对表作分析之后,使用count(1)还要比使用count(*)用时多了! 从执行计划来看,count(1)和count(*)的效果是一样的。 但是在表做过分析之后,count(1)会比count(*)的用时少些(1w以内数据量),不过差不了多少。 如果count(1)是聚索引,id,那肯定是count(1)快。但是差...
2018-04-02 15:20:34
138
转载 IDEA中Git的更新、提交、还原方法
第一步:在提交项目之前必须先对项目进行更新,此项特别重要,如果不进行更新,别人有项目提交到服务器上,那么你的项目将会提交不上去,使用git解决冲突会比较麻烦,即使你解决了冲突,但是有时候不注意会冲掉别人写的代码,不像svn使用那么简单,所以提交自己项目前必须进行更新(特别重要);如图1:选择pu...
2018-04-02 09:33:09
2998
转载 修改spring Boot启动时的默认图案Banner
一.修改Bannerspring Boot启动的时候会有一个默认的启动图案。如下图[plain] view plain copy . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___...
2018-04-02 00:06:04
632
原创 idea连接Oracle数据库
idea连接oracle数据库1、点击右边database,选择"+",在选择Data Source 此时我连接的数据库为Oracle数据库。2、分别输入对应的连接的IP地址(若为本地连接则为localhost或127.0.0.1)SID输入ORCL,再分别输入账号和密码,最下方有个download(可能是下载连接数据库的插件,我也不知道下载啥)然后再点击test Connection,进行连接测...
2018-04-01 23:56:21
20958
1
原创 在idea中导入git项目
1,File--new --Project from vision control -- git 输入远程仓库地址,然后安clone进行克隆,(目前该项目我已导入,所以不能再次导入)然后若是maven项目导入时应选择maven,若不是则选择eclipse:...
2018-04-01 23:45:59
15874
1
原创 将文件夹浏览方式改为“详细信息”
浏览“计算机”文件夹中的文件夹是,可以将当前视图设置应用到计算机上的所有文件(已针对与打开的文件夹相同的内容进行了优化)。例如,针对图片文件优化了“我的图片”文件夹。如果您打开此文件夹并将视图更改为“详细信息”,则可将“详细信息”视图应用到针对图片优化的每个文件夹。(使用库查看文件和文件夹时,不会应用此设置。)1、打开文件夹,单击工具栏上“视图”按钮旁的箭头,然后选择一个视图设置。2、在工具栏上,...
2018-04-01 22:05:48
1790
转载 IntelliJ IDEA2017.3激活
IntelliJ IDEA2017.3破解教程http://idea.java.sx/简单快捷!!———————————————————————————————————————— 由于JetBrains封杀,大部分激活服务器已经不能使用,如果以上方法无效,则可以使用下面的比较麻烦的方法,但是有效期是到December 31,2099(emmmm,也算...
2018-04-01 21:11:55
285
转载 java 读取Oracle的clob,blob转换为字符串
java 读取clob,blob转换为字符串/*** * 读取oracleCLOB字段内容 * @param conn * @return */ public static String readCLOB(Connection conn) { String sql = "select ...
2018-03-30 18:11:21
836
转载 SELECT高级查询——连接查询、子查询(多表数据查询)
在实际中,经常是从多张表中查询数据。本节学习多表连接查询、子查询等高级SELECT语句的应用。1.简单连接查询多表查询是指SELECT命令中显示的列来源于多个数据表; 连接查询将多个表以某个或某些列为条件进行连接操作而检索出关联数据的过程。多个表之间以共同列而关联在一起。1.1使用WHERE子句的简单连接查询用WHERE子句对数据记录限定检索条件,在...
2018-03-29 11:04:26
1070
转载 Oracle的sysdate的加减法含义
加法 select sysdate,add_months(sysdate,12) from dual; --加1年 select sysdate,add_months(sysdate,1) from dual; --加1月 select sysdate,to_char(sysdate+7,'yyyy-mm-dd HH24:MI:SS')...
2018-03-27 17:34:28
3032
转载 Oracle子查询
子查询在SELECT、UPDATE、DELETE语句内部可以出现SELECT语句。内部的SELECT语句结果可以作为外部语句中条件子句的一部分,也可以作为外部查询的临时表。子查询的类型有:1. 单行子查询:不向外部返回结果,或者只返回一行结果。2. 多行子查询:向外部返回零行、一行或者多行结果。 案例1:查询出销售部(SALES)下面的员工姓名,工作,工资。案例分析该问题可...
2018-03-26 11:53:31
171
转载 数据库的内连接和外连接的区别
内连接:指连接结果仅包含符合连接条件的行,参与连接的两个表都应该符合连接条件。外连接:连接结果不仅包含符合连接条件的行同时也包含自身不符合条件的行。包括左外连接、右外连接和全外连接。左外连接:左边表数据行全部保留,右边表保留符合连接条件的行。右外连接:右边表数据行全部保留,左边表保留符合连接条件的行。全外连接:左外连接 union 右外连接。示例:数据库版本:Oracle表TESTA,TESTB,...
2018-03-26 11:50:03
26687
5
转载 Oracle高级查询
² 消除重复行 在Oracle查询中结果中,可能出现若干行相同的情况,那么可以使用DISTINCT消除重复行。具体的用法如示例: 代码演示:DISTINCT消除重复行SQL> SELECT DISTINCT DEPTNO FROM EMP;DEPTNO------ 30 20 10 ² NULL操作 如果某条记录中有缺少的数据值,就是空值(NULL值)。空值不等于0或者...
2018-03-26 11:38:07
366
转载 Oracle操作符
Oracle开发中,依然存在算术运算,关系运算,和逻辑运算。 ² 算术运算 Oracle中的算术运算符,没有C#中的算术运算符丰富,只有+、-、*、/四个,其中除号(/)的结果是浮点数。求余运算只能借助函数:MOD(x,y):返回x除以y的余数。 案例3:每名员工年终奖是2000元,请显示基本工资在2000元以上的员工的月工资,年总工资。该案例的表请参见本章练习的附表1、附表2、附表3,这三张表...
2018-03-26 11:35:59
647
转载 Oracle数据操纵语言
数据操纵语言(DML)用于对数据库的表中数据进行添加、修改、删除和SELECT…For UPDATE(后面专门学习该查询)操作。对比一期学习过的SQL Server操作,接下来一一介绍在Oracle中的操作。 ² 简单查询 数据查询是用SELECT命令从数据库的表中提取信息。SELECT语句的语法是: 语法结构:简单查询SELECT *|列名|表达式 FROM 表名 WHERE 条件 ORDER...
2018-03-26 11:33:56
725
转载 Oracle用户和权限
Oracle中,一般不会轻易在一个服务器上创建多个数据库,在一个数据库中,不同的项目由不同的用户访问,每一个用户拥有自身创建的数据库对象,因此用户的概念在Oracle中非常重要。Oracle的用户可以用CREATE USER命令来创建。其语法是: 语法结构:创建用户CREATE USER 用户名 IDENTIFIED BY 口令 [ACCOUNT LOCK|UNLOCK]语法解析: ...
2018-03-26 11:29:55
140
转载 Oracle的表创建和约束
Oracle创建表同SQL Server一样,使用CREATE TABLE命令来完成。创建约束则使用如下命令:语法格式:ALTERTABLE命令 ALTER TABLE 表名 ADDCONSTRAINT[D4] 约束名约束内容。 不论创建表还是约束,与SQL Server基本相同,注意:在Oracle中default是一个值,而SQL Server中default是一个约束[D5] ,因此Or...
2018-03-26 11:27:06
276
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人