- 博客(67)
- 资源 (4)
- 收藏
- 关注

原创 Java8中使用groupBy实现集合的分组,并根据某一条件进行分组
一、简介:Java8中的groupBy实现集合的分组,类似Mysql的group by分组功能,注意得到的结果是一个map二、代码测试案例:package demo;import java.util.ArrayList;import java.util.List;import java.util.Map;import java.util.Set;import java.util.stream.Collectors;import entity.Student;/*** @autho
2020-07-17 17:15:38
4805
2

原创 Java中使用Lambda表达式和filter方法对List集合进行过滤
一、代码测试案例package demo;import java.util.ArrayList;import java.util.List;import java.util.stream.Collectors;import entity.User;public class Test01 { public static void main(String[] args) { // 创建集合对象 List<User> list = new ArrayList<&
2020-07-17 15:26:02
10145
1

原创 SpringBoot中实现文件的下载--下载指定路径下的文件
代码参考如下:一、接收页面下载的请求(后台Controller方法) /** * 文件下载 * @param response * @param fId * @return */ @RequestMapping("/down") @CrossOrigin(origins = "*", methods = {RequestMethod.GET, RequestMethod.POST}) public String down(HttpServletResponse resp
2020-07-06 17:06:34
6133
3

原创 Java中用随机数生成不同订单编号的方法
package com.framework.util;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Date;/** * @author zkx * @create 2020-05-21 下午 1:40 */public class OrderCodeUtils { /** * 生成编号(当前日期后六位+4位随机数组成) * * @ret
2020-05-29 09:46:37
2507
1

原创 Java研发环境搭建(包括项目协作、GIT/SVN代码管理、代码编辑器等工具)
JDK 环境安装jdk下载JDK 可以到官网下载 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html请下载自己系统对应的版本,推荐版本为:jdk-8u25-windows-x64.exejdk 安装安装JDK、JRE, 选择安装目录安装过程中会出现两次安装提示 。第一次是安装 jdk ,第二次是安装 jre 。环境变量配置 配置环境变量:右击“我的电脑”–>“高级”–
2020-05-28 11:17:26
496
3

原创 Mybatis实现批量添加、删除和修改操作
一、背景在开发过程中,我们经常会对某个数据库表进行批量增删改的操作,sql批量的好处在于它可以避免程序和数据库建立多次连接,减少对数据库的访问次数,减轻数据的库压力,同时也会提高项目的性能。二、批量添加XML方式 //mapper层 void addBatch(List<Emp> list); //XML层 <!-- 批量添加 --> <insert id="addBatch" parameterType="list"> insert int
2020-05-27 11:04:43
901
1

原创 【Mybatis】中使用IN语句查询sql的方法
一、语法简介在MySQL中 使用SQL IN 操作符 语法:SELECT column_name(s)FROM table_nameWHERE column_name IN (value1,value2,...)但是如果在MyBatis中的使用in的话,像如下去做的话,肯定会报错:Map<String, Object> selectByUserId(@Param("useType") String useType)<select id="selectByUserI
2020-05-26 17:24:39
2234

原创 Java中实现多级菜单的列表(递归排序)
一、项目背景由于最近项目中需要实现展示菜单功能,菜单是需要多级,并且级数不固定。像这种需求,一般就是用递归实现了,可以从第一级一直往下查,一直查询到为空为止。二、数据库实体类字段两个实体类,一个是对应数据库的实体类,VO是返回给前端的实体类public class RcMenu { private Integer menuId; //菜单ID private String menuName;//菜单名称 private Boolean status; //菜单状态 pri
2020-05-26 15:52:46
5059
11

原创 【Java】获取不同List集合中不相同的数据 ( 效率可以,已亲测过 )
一、 获取两个list中不同的数据 静态方法public static List<String> getDiffrent(List<String> list1, List<String> list2){ Map<String,Integer> map = new HashMap<String,Integer>(list1.size()+list2.size()); List<String
2020-05-26 15:15:27
2314
3

原创 Java8新特性之从list集合中取出某一属性集合的方法
package demo;import java.util.ArrayList;import java.util.List;import java.util.stream.Collectors;import entity.Student;public class demo { public static void main(String[] args) { List<Student> students=new ArrayList<Student>();
2020-05-14 10:13:51
2092
2
原创 数据库中常见面试题整理
一、 数据库三范式是什么?第一范式(1NF):字段具有原子性,不可再分。(所有关系型数据库系统都满足第一范式数据库表中的字段都是单一属性的,不可再分)第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。要求数据库表中的每个实例或行必须可以被惟一地区分。通常需要为表加上一个列,以存储各个实例的惟一标识。这个惟一属性列被称为主关键字或主键。满足第三范式(3NF)必须先满足第二范式(2NF)。简而言之,第三范式(3NF)要求一个数据库表中不包含
2020-08-10 15:15:23
616
原创 SpringMvc面试专题知识点及其详解
一、什么是 SpringMvc?SpringMvc 是 spring 的一个模块,基于 MVC 的一个框架,无需中间整合层来整合。二、Spring MVC 的优点1)它是基于组件技术的.全部的应用对象,无论控制器和视图,还是业务对象之类的都是 java组件.并且和 Spring 提供的其他基础结构紧密集成2)不依赖于 Servlet API(目标虽是如此,但是在实现的时候确实是依赖于 Servlet 的)3)可以任意使用各种视图技术,而不仅仅局限于 JSP4)支持各种请求资源的映射策略5)它应
2020-07-29 17:22:32
607
原创 mybatis面试专题及其详解
一、什么是 MyBatis?Mybatis是一个优秀的ORM框架.应用在持久层. 它对jdbc的 操作数据库过程 进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动、创建connection、等jdbc繁杂的过程代码。二、Mybatis 的编程步骤是什么样的?1、创建 SqlSessionFactory2、通过 SqlSessionFactory 创建 SqlSession3、通过 sqlsession 执行数据库操作4、调用 session.commit()提
2020-07-29 16:19:30
453
原创 Struts2 知识点总结及其详解
1、简单介绍一下 Struts2 Struts2 框架是一个按照 MVC 设计模式设计的 WEB 层框架,是在 struts 1 和 WebWork 的技术基础上进行了合并的全新的框架。其全新的 Struts 2 的体系结构与 Struts 1 的体 系结构差别巨大。Struts 2 以 WebWork 为核心,采用拦截器的机制来处理用户的请求, 这样的设计也使得业务逻辑控制器能够与 ServletAPI 完全脱
2020-07-22 09:45:56
3055
原创 在线程中 sleep 和 wait 有什么区别
一、源码如下sleep源码public class Thread implements Runnable { public static native void sleep(long millis) throws InterruptedException; public static void sleep(long millis, int nanos) throws InterruptedException { if (millis < 0) { throw new
2020-07-21 15:45:35
485
原创 史上最全 55道 MySQL面试题及答案,看完碾压面试官
1、一张表,里面有 ID 自增主键,当 insert 了 17 条记录之后,删除了第 15,16,17 条记录,再把 Mysql 重启,再 insert 一条记录,这条记录的 ID 是 18 还是 15 ?(1) 如果表的类型是 MyISAM,那么是 18因为 MyISAM 表会把自增主键的最大 ID 记录到数据文件里,重启 MySQL 自增主键的最大ID 也不会丢失(2)如果表的类型是 InnoDB,那么是 15InnoDB 表只是把自增主键的最大 ID 记录到内存中,所以重启数据库或者是对表进O
2020-07-21 15:14:29
1608
1
原创 React中createRef()和useRef()的使用方法
一、createRef()class Test extends Component { constructor(props) { super(props); this.state = { myDiv:createRef() } } componentDidMount(){ console.log("this.myDiv.current", this.state.myDiv.current); // 打印结果: this.myDiv.cu
2020-07-21 11:15:54
1568
原创 Java中验证身份证号码是否合法的工具类
package me.xueyao.validate;import java.util.regex.Pattern;/** * --15位身份证号码: * 第7、8位为出生年份(两位数),第9、10位为出生月份, * 第11、12位代表出生日期,第15位代表性别,奇数为男,偶数为女。 * --18位身份证号码 * : 第7、8、9、10位为出生年份(四位数),第11、第12位为出生月份,第13、14位代表出生日期, * 第17位代表性别,奇数为男,偶数为女。 * *
2020-07-21 10:51:19
1007
原创 JDK8中各种排序方法!
一、代码测试案例package demo;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;import entity.Users;/*** @author :zkx* @createtime :2020年5月21日 上午8:56:52* @description:*/public class Test { p
2020-07-21 10:36:15
2885
1
原创 Hibernate 面试知识点整理及其详解
1、简述一下 Hibernate 的开发流程第一步:加载 hibernate 的配置文件,读取配置文件的参数(jdbc 连接参数,数据 库方言,hbm 表与对象关系映射文件)第二步:创建 SessionFactory 会话工厂(内部有连接池)第三步:打开 session 获取连接,构造 session 对象(一次会话维持一个数据连接, 也是一级缓存)第四步:开启事务第五步:进行操作第六步:提交事务第七步:关闭 session(会话)将连接释放第八步:关闭连接池2、Hibernate 中
2020-07-20 16:52:32
336
原创 Spring 核心知识点整理及其详解
一、 谈谈你对 Spring 的理解Spring 是一个开源框架,是一个全面的、企业应用开发一站式的解决方案,贯穿表现层、业务层、持久层,并且仍然可以和其他的框架无缝整合。Spring 也是一个 IOC 和 AOP 的容器框架。Spring 容器的主要核心是:控制反转(IOC),传统的 java 开发模式中,当需要一个对象时,我们会自己使用 new 或者 getInstance 等直接或者间接调用构造方法创建一个对象。而在 spring 开发模式中,spring 容器使用了工厂模式为我们创建了所需要
2020-07-20 16:02:42
1144
原创 Spring Cloud 面试专题整理及其详解
1、什么是 Spring Cloud?Spring cloud 流应用程序启动器是基于 Spring Boot 的 Spring 集成应用程序,提供与外部系统的集成。Spring cloud Task,一个生命周期短暂的微服务框架,用于快速构建执行有限数据处理的应用程序。6、使用 Spring Cloud微服务框架的优缺点?微服务的框架那么多比如:dubbo、Kubernetes,为什么就要使用Spring Cloud的呢?优点:产出于Spring大家族,Spring在企业级开发框架中无人能敌
2020-07-20 10:27:22
401
原创 Spring Boot面试专题整理及其详解
1、什么是Spring Boot?多年来, 随着新功能的增加, spring 变得越来越复杂。只需访问https://spring.io/projects页面, 我们就会看到可以在我们的应用程序中使用的所有Spring 项目的不同功能。如果必须启动一个新的Spring 项目,我们必须添加构建路径或添加Maven 依赖关系, 配置应用程序服务器,添加spring 配置。因此, 开始一个新的spring 项目需要很多努力, 因为我们现在必须从头开始做所有事情。Spring Boot 是解决这个问题的
2020-07-19 13:12:25
280
原创 利用axios的post方式实现文件的下载
1、前端代码:dowloadTest(){ this.$axios.request({ method:'post', url:'/file/download', data:{ fileid:123 }, responseType:'arraybuffer' }) .then((response)=>{ this.download(response.data); })}, download (data) {
2020-07-17 16:10:06
605
原创 Java8 新特性 使用lambda表达式对map集合求和,或平均值、最大值、最小值
一、lambda方法,如下: IntSummaryStatistics statistics= (IntSummaryStatistics) list .stream() .collect( Collectors.summarizingInt( e->Integer.valueOf( ((Map) e).get("xxx Key对象").toString() )));具体方法:我们用以上得到的结果 .get,如下图,可以直接获取集合的和,或
2020-07-17 14:59:46
5334
原创 Java中使用ConcurrentHashMap实现带有过期时间的缓存
package me.xueyao.cache;import java.util.Map;import java.util.concurrent.ConcurrentHashMap;/** * ConcurrentHashMap 实现带过期时间的缓存 * * @author zkx * @date 2020-03-26 11:34 **/public class ConcurrentHashMapUtil { /** * 预缓存信息 */ pri
2020-07-17 09:08:27
5890
2
原创 Java集合之Map集合(HashMap、Hashtable、TreeMap和 LinkHashMap)详细介绍
简介Map集合是一种键值对集合,Map中的每一个对象都包含一个键对象和一个值对象,键对象不可重复,值对象可以重复。Map接口主要由两个实现类,Hash Map类与Tree Map 类,Hash Map 用哈希算法存储键对象,Tree Map 对键对象进行排序常用的方法:(1)V get (Object key)返回map集合中指定键值对象所对应的值(2)V put(K key,V value)向Map集合中添加键值对(3)V remove(Object key )从Map集合中删除k
2020-07-15 17:38:14
624
原创 Java集合之Set集合(HashSet、TreeSet和 LinkHashSet)详细介绍
简介Set 注重独一无二的性质,该体系集合用于存储无序(存入和取出的顺序不一定相同)元素,值不能重复。对象的相等性本质是对象 hashCode 值(java 是依据对象的内存地址计算出的此序号)判断的,如果想要让两个不同的对象视为相等的,就必须覆盖 Object 的 hashCode 方法和 equals 方法。Java Set 一共三个实现类:分别是 HashSet、TreeSet和 LinkHashSet1、HashSet (Hash 表 )哈希表边存放的是哈希值。HashSet 存储元
2020-07-15 16:35:38
674
原创 Java集合之List集合(ArrayList、Vector 和 LinkedList)详细介绍
简介Java 的 List 是非常常用的数据类型。List 是有序的 Collection。Java List 一共三个实现类:分别是 ArrayList、Vector 和 LinkedList。1、ArrayList ( 数组 )ArrayList 是最常用的 List 实现类,内部是通过数组实现的,它允许对元素进行快速随机访问。数组的缺点是每个元素之间不能有间隔,当数组大小不满足时需要增加存储能力,就要将已经有数组的数据复制到新的存储空间中。当从 ArrayList 的中间位置插入或者删除
2020-07-15 16:18:13
411
原创 sql语句的优化方案
1.查询的模糊匹配尽量避免在一个复杂查询里面使用 LIKE ‘%parm1%’—— 红色标识位置的百分号会导致相关列的索引无法使用,最好不要用。解决办法:其实只需要对该脚本略做改进,查询速度便会提高近百倍。改进方法如下:a、修改前台程序——把查询条件的供应商名称一栏由原来的文本输入改为下拉列表,用户模糊输入供应商名称时,直接在前台就帮忙定位到具体的供应商,这样在调用后台程序时,这列就可以直接用等于来关联了。b、直接修改后台——根据输入条件,先查出符合条件的供应商,并把相关记录保存在一个临时表里头,
2020-07-15 11:29:20
406
原创 Java中Bean实体与Map集合转换的工具类
package me.xueyao.convert;import java.beans.BeanInfo;import java.beans.IntrospectionException;import java.beans.Introspector;import java.beans.PropertyDescriptor;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;imp
2020-07-15 10:48:43
361
原创 Java中ArrayUtils数组工具类
package me.xueyao.collection;import java.util.ArrayList;import java.util.List;import java.util.Set;/** * 数组工具类 * * @author zkx * @version 1.0 * Date: 2019-11-22 上午9:56:54 */public abstract class ArrayUtils { /** * 显示字符串数组的内容,用,分隔
2020-07-14 14:32:41
456
原创 Java中对文本内容进行敏感词汇过滤的工具类
import java.util.HashSet;import java.util.Iterator;import java.util.Map;import java.util.Set;/** * 铭感词过滤工具类 * * @Author:zkx * @date:2019年8月5日 */public class SensitivewordFilterUtil { @SuppressWarnings("rawtypes") private Map sensitiveWo
2020-07-14 14:29:11
762
2
原创 Java中AES加解密的工具类
import javax.crypto.Cipher;import javax.crypto.KeyGenerator;import javax.crypto.spec.SecretKeySpec;import java.security.SecureRandom;/** * AES加解密 * * @Author:zkx * @date:2019年6月21日 上午9:01:41 */class AESUtils { /** * 默认秘钥 */ p
2020-07-14 11:26:18
391
原创 Java中DES加解密的工具类
import java.security.SecureRandom;import javax.crypto.Cipher;import javax.crypto.SecretKey;import javax.crypto.SecretKeyFactory;import javax.crypto.spec.DESKeySpec;/** * DES加解密工具类 * * @Author:zkx * @date:2019年8月20日 下午4:19:00 */class DESUtils {
2020-07-14 11:24:58
322
原创 Java中BASE64加解密的工具类
package me.xueyao.encryption;import java.io.UnsupportedEncodingException;/** * BASE64加解密工具类 * * @Author: zkx * @date:2019年5月20日 下午5:05:30 * */class Base64Utils { private static char[] base64EncodeChars = new char[] { 'A', 'B', 'C', 'D', 'E'
2020-07-14 11:22:11
553
原创 Java中解决字段的组合排列问题的比较器工具类
import java.util.Comparator;import java.util.LinkedList;import java.util.List;/** * 用来解决字段的组合排列问题的比较器。 * * 运用了组合(Compositor)模式:把一些具有不同功能的类组合起来成一个类或者数组 * 然后通过调用某个方法来循环数组中的所有元素,最后返回用户所需要的结果。 * * @author zkx * @version $Revision: 1.0 */public
2020-07-14 11:18:54
335
原创 Java中文件基本操作、创建、删除的工具类
import lombok.extern.slf4j.Slf4j;import me.xueyao.RandomUtils;import me.xueyao.validate.Validators;import me.xueyao.date.DateTools;import java.io.*;import java.math.BigInteger;import java.security.MessageDigest;import java.util.ArrayList;import j.
2020-07-14 11:13:12
339
原创 Java中操作Cookie的工具类
import javax.servlet.http.Cookie;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * Cookie工具类 * */public class CookieUtils { /** * 添加cookie * * @param response * @param name
2020-07-14 11:09:21
401
互联网企业面试真题.rar
2020-07-21
Linux命令大全搜索文档 .pdf
2020-06-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人