- 博客(40)
- 收藏
- 关注
原创 sql优化建议
然而,查询解析器认为这是两个不同的SQL语句,要解析两次,生成两个不同的执行计划,作为一名严谨的Java开发工程师,应该保证两个一样的SQL语句,不管在任何地方都是一样的。新行标识所用的计数值重置为该列的种子。SQL执行计划是可以被重用的,SQL越简单,被重用的概率越大,生成执行计划也是很耗时的。Innodb是以聚集索引的顺序来存储的,对于Innodb来说,二级索引在叶子节点中所保存的是行的主键信息,如果是用二级索引查询数据的话,在查找到相应的键值后,还要通过主键进行二次查询才能获取我们真实所需要的数据。
2023-11-14 09:28:22
342
原创 java 8 Collectors.collectingAndThen()使用排序去重
在上述代码中,我们首先使用Collectors.toCollection()方法创建了一个TreeSet集合,然后将其作为downstream传递给collectingAndThen()方法。而finisher是一个Function函数,用于对downstream的收集结果进行处理,并返回最终的结果。Collectors.collectingAndThen()是Java 8中的一个辅助方法,它能够将一个Collector收集器转换为另一个收集器,并在最终收集结果上应用一个Function函数。
2023-08-31 10:58:05
3303
原创 Spring 浅复习
面向切面编程, 利用aop可以对业务逻辑的各个部分进行隔离 从而使得业务逻辑个部分之间的耦合度降低提高程序的可重用性 同时提高开发效率。事务需要在一定的时间内提交 如果不提交则会滚。1.spring有两种bean,一种是普通bean 一种是工厂bean FactoryBean。execution([权限修饰符][返回类型][类全路径][方法名称]([参数列表]))5 在增强类里面在作为通知的方法上面添加通知类型的注解 使用切入点表达式配置。举例:对co m.xx.dao.xx 里面的add方法进行增强。
2023-08-27 15:51:12
135
原创 JAVA遍历map效率
1、在看 《阿里巴巴java开发手册》时候,有一条推荐的规约: 【推荐】使用entrySet遍历Map类集合KV,而不是keySet方式进行遍历。而entrySet只是遍历了一次就把key和value都放到了entry中,效率更高。2、若遍历过程中,需要根据条件删除集合中元素,参考:https://blog.youkuaiyun.com/HaHa_Sir/article/details/80295755。1、遍历 map 集合时,应该同时遍历出 键值对,这样效率更高。遍历键值对集合,获取每一个键值对对象。
2023-08-23 10:16:11
715
原创 mysql查询 根据年月日的查询
注:year,month,dayofyear是mysql的函数,分别是取得年、月、当前时间在本年是第几天的3个函数。查询表byzp_personinfo中2019年的数据。查询表byzp_personinfo中2月份生日的人。mysql数据库查询某一年内各月份数据,按月份分组。11.查询距离当前现在6个月的数据。16.查询指定时间段的数据。12.查询当前这周的数据。15.查询当前月份的数据。14.查询上个月的数据。13.查询上周的数据。
2023-04-07 14:52:38
1326
原创 关于iframe下session丢失的问题
原因:谷歌最新版的浏览器默认SameSite=Lax (该设置从2020 年7月14全面展开,具体见:https://www.chromestatus.com/feature/5088147346030592),如果设置SameSite=Lax , 并且嵌入Iframe的地址和iframe外的地址不是SameSite,那么嵌入iframe的地址将无法设置设置cookie。原文:https://blog.youkuaiyun.com/ysyysjbama/article/details/108061969。
2022-09-05 15:17:56
2745
原创 @DateTimeFormat和@JsonFormat的区别
一、介绍@DateTimeFormat和@JsonFormat都是处理时间格式化问题的,把其他类型转换成自己需要的时间类型。二、使用2.1导包@DateTimeFormat和@JsonFormat分别属于spring和jackson,所以我们需要导入相应的包。 com.fasterxml.jackson.core jackson-databind 2.9.10.6 2.2加注解/*** 时间格式化* @DateT
2022-06-08 15:30:29
250
原创 @DateTimeFormat和@JsonFormat的区别
一、介绍@DateTimeFormat和@JsonFormat都是处理时间格式化问题的,把其他类型转换成自己需要的时间类型。二、使用2.1导包@DateTimeFormat和@JsonFormat分别属于spring和jackson,所以我们需要导入相应的包。<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-
2022-05-27 11:15:52
13364
3
原创 关于Optional的使用
**简单来说,Opitonal类就是Java提供的为了解决大家平时判断对象是否为空用 会用 null!=obj 这样的方式存在的判断,从而令人头疼导致NPE(Null Pointer Exception 空指针异常),同时Optional的存在可以让代码更加简单,可读性跟高,代码写起来更高效.**//常规判断: //对象 人 //属性有 name,age Person person=new Person(); if (null==person){ return "person为null
2022-04-27 10:07:04
603
原创 JAVA关于Easypoi 导入导出 初认识
首先maven项目应该先进行pom引入 <dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-base</artifactId> <version>4.4.0</version> </dependency> <de
2022-03-20 21:38:37
854
1
原创 JAVA关于Selenium自动化工具使用
以下实现的是对屏幕的滚动截图 入参为访问地址url 跟一个排序参数(可省略)public void seleniumTest(String url,Integer seq){ // 调用驱动 System.setProperty("webdriver.chrome.driver", "C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\Application\\chrome
2022-03-18 10:02:27
1035
1
原创 Tomcat控制台乱码问题解决
1、找到tomcat安装目录,找到conf下的logging.properties文件,将其中的encoding = UTF-8的部分全部修改为encoding = GBK2、另一种情况,是涉及到在tomcat里运行的项目与后端交互的情况,这种情况较为复杂,可首先修改tomcat安装目录下的conf下的web.xml文件,在servlet标签组中加入: <param-name>fileEncoding</param-name> <param-value&
2022-02-10 14:20:42
1166
2
原创 Ajax前台传数组,Java后台接收方式
第一种: 用$.param(xxx,true) 的方式进行序列化,后台用RequestParam接收 $.ajax({ type: "post", url: url, data: $.param({"courseId":courseId,"oldChooseClassIds":oldChooseClassIdArrs,"chooseClassIds":chooseClassIds},true), dataType: "json"
2022-01-21 14:05:34
3876
原创 Java 文件压缩 并导出写法 亲测可用
/** * @Description: 压缩包* @Param: * @return: * @Author: Chenzb* @Date: 2022/1/12 */ private void zipPack(String path,HttpServletResponse response){ // 开始准备压缩 String fileName = "courseData"; String zipFilePath = ZipUtil.zipPack(fileName, path);
2022-01-12 16:38:26
417
原创 Java 文件递归复制相关写法
/*** @Description: 拷贝 递归遍历所有文件* @Param: 从 fromDir 地址 到 toDir 地址* @return:* @Author: Chenzb* @Date: 2021/12/17*/public static void copyDir(String fromDir,String toDir) throws IOException{//创建目录的File对象final String destDirPath = toDir.endsWith(F
2021-12-17 17:45:09
742
原创 Java8 常用语法
常用语法收录 stuList.add(new Stu(11,"1","男","2021-12-12 11:22:22")); stuList.add(new Stu(12,"2","男","2020-12-11 11:22:22")); stuList.add(new Stu(16,"3","男","2019-10-12 11:22:22")); stuList.add(new Stu(19,"4","男","2018-12-10 11:22:
2021-07-10 16:18:12
437
原创 Mysql 随笔小记录
函数函数concat(a,b)select concat('姓名',stuname) as 名字 from a 连接字符串去重 distinct
2021-06-24 22:46:47
92
原创 mysql
Mysql学习一、初始Mysql数据库是所有软件体系中最核心的存在 DBA存储数据,管理数据关系型数据库- Mysql ,Oracle , sqlServer DB2 sqlLite- 通过表和表之间 行和列之间的关系进行数据的存储 - Mysql是一个关系型数据库管理系统 非关系型数据库reids monggoDB非关系型数据库 对象存储 通过对象自身的属性来决定特点体积小 速度快 总体拥有成本低 招人成本低步骤:1
2021-06-24 00:17:25
323
原创 markdown语法
Markdown是一种纯文本格式的标记语言。通过简单的标记语法,它可以使普通文本内容具有一定的格式。相比WYSIWYG编辑器优点:1、因为是纯文本,所以只要支持Markdown的地方都能获得一样的编辑效果,可以让作者摆脱排版的困扰,专心写作。2、操作简单。比如:WYSIWYG编辑时标记个标题,先选中内容,再点击导航栏的标题按钮,选择几级标题。要三个步骤。而Markdown只需要在标题内容前加#即可缺点:1、需要记一些语法(当然,是很简单。五分钟学会)。2、有些平台不支持Markdown编辑模式
2021-06-22 22:01:22
211
原创 guli 商场
guli 商场1.第一天1.基础概念微服务:拒绝大型单体应用,基于业务边界进行服务微化拆分,各个服务独立部署运行。集群&分布式&节点:分布式系统是若干独立计算机的结合,这些计算机对于用户来说就像单个相关系统,分布式是指将不同的业务分布在不同的地方集群是指将几台服务器集中在一起 实现统一业务分布式中的每个节点都可以做集群 而集群并不一定是分布式 (一个微服务可以部署多台服务器 同一个服务 此时不是分布式)远程调用:在分布式系统中 各个
2021-06-21 22:39:09
160
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人