- 博客(39)
- 资源 (198)
- 收藏
- 关注
原创 IDEA奇淫技巧之配置MySQL,DataBase导航栏与**Mapper.xml联动纠错(SQL字段是否匹配),利用IDEA辅助校验Mapper文件中的SQL字段是否拼写正确
IDEA 未连接数据库时,***mapper.xml文件中SQL语句的颜色我们连接后再看看配置好数据连接信息测试是否连接成功然后apply、OK,此时的**mapper.xml,此时文件颜色尚无变化!还需下面的操作,进行IDEA配置。有的IDEA默认MySQL 作为工程数据库,此时若文件有变化,可以不进行相关的配置。还需一步配置或者快捷键 CTRL+ALT+S配置SQL然后点击apply、ok按钮、再来看看**mapper.xxml文...
2021-08-31 23:42:17 1159
原创 Java垃圾回收日志信息、Java进程信息查看命令
jstat -gccause pidJava垃圾回收发生在方法区、堆区!监视Java堆状况,包括Eden区、两个survivor区、老年代、永久代等的容量、已用空间、GC时间合计等信息、导致上一次GC产生的原因。S0:年轻代中第一个survivor(幸存区)已使用的占当前容量百分比 S1:年轻代中第二个survivor(幸存区)已使用的占当前容量百分比 E:年轻代中Eden(伊甸园)已使用的占当前容量百分比 O:old代已使用的占当前容量百分比 M:元空间(Metaspace)已使用的占
2021-08-30 22:48:52 862 2
原创 java -jar *****.jar 稳定性测试启动命令、加载配置文件顺序--Dspring.config.location=E:\\iot\\application.properties
java -XX:+PrintGCDateStamps -XX:+PrintGCDetails -Xloggc:./gc.log -XX:+HeapDumpOnOutOfMemoryError -XX:NativeMemoryTracking=detail -Xms2048m -Xmx2048m -jar iot-1.0.0.jar --Dsppring.config.location=E:\\iot\\application.propertiesGC信息可以在打包时配置,如果没配置,启动jar包..
2021-08-30 22:38:04 597 1
原创 HttpMessageNotReadableException: JSON parse error Cannot deserialize value of type java.lang.Integer
JSON在序列化时会将字段对应的value视为字符串,会根据接收的字段进行提取值,如果类型数值是值超出范围时,将无法序列化。org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize value of type `java.lang.Integer` from String "2147483648": Overflow: numeric ...
2021-08-30 22:19:07 8704
原创 Maven常见问题(依赖树mvn dependency:tree)依赖传递
当你新到一家公司,安装配置完JDK、Maven后,一般情况下你需要修改settings.xml文件,比如你会修改本地仓库地址路径,比如你很可能会copy一段配置到你的settings.xml中(很可能就是私服的一些配置)。IDEA(快捷键CTRL+Alt+A)进行Maven配置,然后在工程中的pom.xml文件进行开始添加标签来管理jar包(三要素 groupId、artfactId、version),在Maven规范的目录结构下进行编写代码,最后你会通过插件的方式来进行...
2021-08-30 08:28:31 1522 2
原创 MySQL 索引禁用与开启、创建索引(普通索引、唯一索引、组合索引、主键索引)、删除索引,SQL语句示例
禁用索引的语句:ALTER TABLE table_name DISABLE KEYS;开启索引语句:ALTER TABLE table_name ENABLE KEYS;创建索引语法ADD INDEX [<索引名>] [<索引类型>] (<列名>,…)创建普通索引、组合索引ADD INDEX [<索引名>] (<列名>,…)查看索引SHOW INDEX FROM <表名> [ FRO.
2021-08-29 17:09:01 2641
原创 nested exception is java.io.FileNotFoundException: class path resource [***.class]cannot be opened..
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [com.iot.IotApplication]; nested exception is java.io.FileNotFoundException: class path resource [com/iot/common/constant/ResponseCodeConst.class] cannot b.
2021-08-29 16:48:11 3615 2
原创 MyBatis-plusSQL语句包装器QueryWrapper,包装器查询倒序返回第一个
简单SQL不想写SQL语句或者复杂SQL不想在Mapper里写时可以Mybatis-plus的包装类,实现自己的业务。可读性差,建议使用xml统一管理,方便别处使用。 方法名 说明 使用 allEq(Map<R, V> params) 全部=(或个别isNull) allEq(params,true) eq = ...
2021-08-29 16:38:58 3442
原创 阿里云物联网(IoT)物模型数据规格定义
"specs": { "min": "参数最小值(int、float、double类型特有)", "max": "参数最大值(int、float、double类型特有)", "unit": "属性单位(int、float、double类型特有,非必填)", "unitName": "单位名称(int、float、double类型特有,非必填)", "size": "数组元素的个数,最大512(array类型特有)。", "step": "步长(text、enum类型无此.
2021-08-29 16:08:24 2781 1
原创 Windows shell脚本打包,打jar包并压缩
::======================用户配置==================rem 第三方set myZip="C:\Program Files\7-Zip\7z.exe"::语言设定set language=Chn::软件版本set IoT-Version-out=V1.000.0000000.0.::T/R版本设定set versionType=R::artifactsset IoTArtifact=dahua-iot::jar versions 包后缀
2021-08-29 15:58:21 889
原创 MySQL快速添加千万行纪录(创建表,同时设置存储引擎为MyISAM —> 存储过程快速(五分钟左右)添加千万级记录 —> 修改为INNODB引擎 —> 添加索引)
1:创建一张测试表DROP TABLE IF EXISTS test_user; CREATE TABLE test_user ( id bigint(20) PRIMARY key not null AUTO_INCREMENT, username varchar(11) DEFAULT NULL, gender varchar(2) DEFAULT NULL, password varchar(100) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf
2021-08-28 20:50:23 677
原创 Java工程进行性能测试时通常要考虑哪些要素,如何使接口响应时间在毫秒级范围,Java项目如何进行性能测试?0.2s的反应时间内返回响应,用户感知情况较好。附IO密集型和计算密集型性能测试摸底代码
CPU:有的应用需要大量计算,他们会长时间、不间断地占用 CPU 资源,导致其他资源无法争夺到 CPU 而响应缓慢,从而带来系统性能问题。例如,代码递归导致的无限循环,正则表达式引起的回溯,JVM 频繁的 FULL GC,以及多线程编程造成的大量上下文切换等,这些都有可能导致 CPU 资源繁忙。内存:Java 程序一般通过 JVM 对内存进行分配管理,主要是用 JVM 中的堆内存来存储 Java 创建的对象。系统堆内存的读写速度非常快,所以基本不存在读写性能瓶颈。但是由于内存成本要比磁盘高,相比磁盘,内
2021-08-27 22:19:37 1078
原创 Java死磕金钱0.01元,Java优雅的处理金钱问题,BigDecimal加减乘除保留精度,浮点数比较大小<====BigDecimal
Java死磕金钱0.01元,Java优雅的处理金钱问题,浮点数加减乘除,浮点数比较大小涉及浮点数,精度丢失是老生常谈的问题!BigDecimal工具类,提供了大量浮点数处理的方法!本文提供一种解决方案,仅供参考加减乘除,浮点数大小比较! /** * 单个店铺的打菜商品信息 * @param goodsIdWithGoods * @param storeDto * @param dishId * @param goodsIdWithCarts.
2021-08-25 23:18:01 808
原创 Java中5种方法进行Map遍历,建议使用Map.Entry(优雅)
for (Map.Entry<Integer, ListenableFuture<List<SellerQueryOrdersDto>>> entry : mapOrderDto.entrySet()) { if (entry == null) { continue; } try { dtoList...
2021-08-25 23:11:31 1050 3
原创 Java写一个优雅的枚举类以及枚举类遍历
为什么要定义枚举类?有时候一个类的某些变量的值是有限的、或者固定的,使用数字,可读性差、经常需要去定义的地方查看它的意义,如果代码里没有注释,将会是很痛苦的!此时若定义枚举类,枚举类的名称命名时涵盖该变量的意义,在读、写代码时友好性大大增加!示例枚举类定义,将枚举类的方法直接以static修饰!public class ProductRefEnum { @Getter @AllArgsConstructor public enum FunctionType { .
2021-08-25 22:45:36 3143
原创 如何在lambda表达式域中使用局部变量?
如何在lambda表达式域中使用局部变量?Lambda 表达式是 JDK8 的一个新特性,可以取代大部分的匿名内部类,写出更优雅的 Java 代码,尤其在集合的遍历和其他集合操作中,可以极大地优化代码结构。JDK 也提供了大量的内置函数式接口供我们使用,使得 Lambda 表达式的运用更加方便、高效。lambda表达式的重要特征:可选类型声明:不需要声明参数类型,编译器可以统一识别参数值。 可选的参数圆括号:一个参数无需定义圆括号,但多个参数需要定义圆括号。 可选的大括号:如果主体包
2021-08-24 22:56:27 3381 1
原创 Java正则表达式判断变量名是否合法(字母、数字和下划线的组合),手机号匹配、判断字符串是否有中文,判断字符串是否是数,判断字符串是否正整数
校验identifier是否是下划线、字母、数字组合而成,最少是一个字符,最大64个字符;@ApiModelProperty("变量识符")@Pattern(regexp = "^[_a-zA-Z]\\w{1,64}$", message = "标识符不合法")private String identifier public boolean isValidNaming() { String name = "_uhhaa"; String regx = .
2021-08-23 22:02:23 7074 2
原创 MyBatis不用mapper.xml实现CRUD、查询数据库中已有的记录作为参数插入或者更新数据库纪录示例@Select、@ResultType 注解版增删改查示例
MyBatis注解@Insert插入一条数据和批量插入,查询数据库中已有的记录作为参数数据库插入一条记录并返回主键查询数据库中已有的记录作为参数数据库,对应MyBatis SQL INSERT INTO t_product_inner_identifier ( product_id, identifier, ref ) SELECT 1, '22', ref + 1 FROM t_product_inner_identi.
2021-08-23 21:41:59 1174
原创 SpringBoot内嵌Web容器tomcat参数定制与优化、关闭web容器
三种定制tomcat容器的方法在org.springframework.boot.autoconfigure.web.ServerProperties类中有Server的相关配置可以在ServerProperties.class中查看tomcat相关的参数项,并自定义其值。1:实现EmbeddedServletContainerCustomizer接口,并把实现类纳入到spring容器中管理2:在spring容器中装配一个EmbeddedServletContainerCustomizer对象
2021-08-23 08:17:40 1224
原创 SpringBoot全局异常处理(优缺点)以及统一返回对象、错误码按业务模块设计示例,序列化后与数据库数据时间差8小时
项目工程中的全局异常处理原理在开发过程中,不管是Dao、Servie、Controller,层都有可能发生异常,对于异常处理,通常是try-catch或者直接throw,这会让try-catch的代码在代码中任意出现,系统的代码耦合度高,代码不美观,统一异常处理可以美化代码。错误处理Spring Boot/error默认提供了一个映射,以合理的方式处理所有错误,并在 servlet 容器中注册为“全局”错误页面。对于机器客户端,它将生成一个 JSON 响应,其中包含错误的详细信息、HTTP 状
2021-08-22 13:15:36 4193 2
原创 MyBatis-Plus常用注解
MyBatis-Plus特性MyBati-Plus官方无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑 损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作 强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求 支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错 支持主键自动生成:支持多达 4 种主
2021-08-22 13:08:39 1640
原创 MySQL字符集大小写不敏感(Windows平台)&整数类型(精确值)Integer、int、smallint、tinyint、mediumint、bigint(ERROR 1264 (22003))
在Windows平台,MySQL默认是大小写不敏感的,Linux平台是默认敏感的。修改某张表的某个字段大小敏感alter table 表名称 modify 列名称 varchar(6) collate utf8_bin;Mysql中控制大小写敏感由参数lower_case_table_names控制mysql> show variables like '%case%';+------------------------+-------+| Variable_name .
2021-08-21 21:46:05 489
原创 Maven从入门到高级(发布jar到私服命令 mvn deploy)
如果你还不了解Maven的话,请看Maven保姆级入门教程。本篇与链接文章互为姊妹篇,这篇文章中你将学到Maven的许多高级特性。俗话说基础不牢地动山摇,如果已有一定的基础,本篇文章或许能帮助你更深层次的掌握Maven。 -项目模块划分 -聚合 -继承 -属性 -版本管理 -资源配置 -多环境开发 -配置跳过测试 -私服单个...
2021-08-20 23:07:47 1026
原创 Maven保姆级入门教程
maven解决了哪些问题?工程中jar包不统一、不兼容、冲突问题? 工程升级维护复杂? 项目中单元测试,手动一个个的运行来检验代码质量? 代码冗余,各个模块有相同的依赖?Maven解决以上问题,因为Maven可以自动引入Jar包,通过声明式依赖引入需要的资源,这样可以减小项目的体积,Maven还可以自动构建、打包发布项目。Maven是什么?maven的本质是项目管理工具,将项目开发和管理过程抽象成一个项目对象模型POM(Project Object Model)。下图浅蓝色框住的属于Ma
2021-08-19 23:45:48 492 2
原创 maven打包时跳过测试的三种方案示例
跳过测试的三种方案1、maven导航栏操作:取消生命周期,通过界面的按钮!没有maven界面UI请看这篇文章maven导航栏设置单击之后的效果2、命令操作(所有跳过测试)mvn install -D skipTests3、pom.xml文件中配置插件 <plugin> <artifactId>maven-surefire-plugin</artifactId> <!-- 版本...
2021-08-18 08:39:53 831
原创 SSM项目配置bean、整合MyBatis的xml文件(itheima),别诧异,架构怎么越来越倒退了...
applicationContext.xml别诧异,维护旧项目,新增需求需要了解SSM项目...<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://ww.
2021-08-18 08:28:58 291
原创 Web监听器Listener介绍,事件机制
web监听器web监听器: 是一些实现特定接口的java程序,用于监听web开发中常用的对象(ServletContext,ServletRequest,HttpSession)的创建和销毁行为,以及这些对象的属性修改行为(setAttribute,removeAttribute)。事件源 事件源 事件对象 web监听器 ServletContext对象 ServletContextEvent(创建.
2021-08-15 21:15:39 1329
原创 大文件分片上传与下载、断点续传
大文件分片上传与下载为什么要分片?分片与并发结合,将一个大文件分割成多块,并发上传,极大地提高大文件的上传速度。当网络问题导致传输错误时,只需要重传出错分片,而不是整个文件。另外分片传输能够更加实时的跟踪上传进度。1、文件过大,超出服务端的请求大小限制;2、请求时间过长,超时;3、传输中断,必须重新上传导致前功尽弃;做完了分片后,前端再发送一个请求给服务器,告诉它,上传完毕,把我们上传的几个分片合并成一个完整的文件。@RestControllerpublic class
2021-08-15 20:55:23 2704
原创 解决SpringBoot文件上传与下载(下载文件名包含中文,下载时文件中文名乱码问题解决),压缩文件时需要注意的坑
文件处理工具(获取文件、文件流或字符串的编码方式)/** * 文件工具类 * */public class FileUtil { /** * 获取本地文件的编码格式 * * @param file 要判断的文件编码格式 * */ public static String getLocalFileEncode(File localFile) { /* * cpDetector是探测器,它把探测任务交给具体的探测实现类的实例完成。 * cpDet
2021-08-14 17:02:09 5499 1
原创 MyBatis缓存之一级缓存(SqlSession级别)二级缓存(Mapper级别)原理
MyBatis的缓存分为一级缓存和二级缓存(全局缓存),缓存示意图如下图所示。默认情况下,一级缓存是开启的,且不能被关闭。MyBatis的一级缓存(SqlSession级别)在同一个SqlSession中执行相同的SQL语句时,将查询结果集缓存,第二次查询时直接取缓存,不在操作数据库。注意:一级缓存最多缓存1024条SQL语句。原理: 当客户端第一次发出SQL查询语句时,MyBatis执行SQL的查询并将查询结果写入SqlSession的一级缓存中,当第二次相同的SQL...
2021-08-14 13:33:25 3103
原创 谷粒商城商品规格数据结构学习笔记(SPU&SKU)
谷粒商城商品规格数据结构学习笔记(SPU&SKU)SPUStandard Product Unit (标准产品单位) ,一组具有共同属性的商品集SKUStock Keeping Unit(库存量单位),SPU商品集因具体特性不同而细分的每个商品总体来看下SPU、SKU表结构的设计SPU表CREATE TABLE `tb_spu` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'spu id', `title`
2021-08-08 22:28:11 4324 2
原创 SpringBoot入门教程&自动装配原理(@SpringBootApplication注解强大功能)低版本Spring实现类似自动配置思路,Bean定制
SpringBoot特点 为所有 Spring 的开发者提供一个非常快速的、广泛接受的入门体验;快速创建独立的Spring应用程序。 开箱即用(启动器starter-其实就是SpringBoot提供的一个jar包),但通过自己设置参数(.properties、.yml(yaml)),即可快速摆脱这种方式。 提供了一些大型项目中常见的非功能性特性,如内嵌服务器、安全、指标,健康检测、外部化配置等 自动装配Spring实例,无需 XML 配置。 JAR依赖管理自动维护
2021-08-08 14:29:30 485
原创 跨域问题是针对浏览器发起的ajax请求的一种限制(跨域问题常见解决方案之CorsFilter)
跨域是什么?只针对ajax请求,会存在跨域问题!!!跨域不一定会有跨域问题。因为跨域问题是浏览器对于ajax请求的一种安全限制:一个页面发起的ajax请求,只能是与当前页域名相同的路径,这能有效的阻止跨站攻击。因此:跨域问题是针对ajax的一种限制。跨域,它给我们的开发带来了诸多不便,而且在实际生产环境中,肯定会有很多台服务器之间交互,地址和端口都可能不同,怎么办?跨域问题解决目前比较常用的跨域解决方案有3种: Jsonp 最早的解决方案,利用script标签可以.
2021-08-07 22:24:02 933
原创 使用域名访问本地项目(域名解析、hosts文件添加IP、域名映射关系,Nginx反向代理,端口映射,请求转发)
SpringBoot项目启动后,我们访问页面使用的是:http://localhost:port实际开发中,存在多种环境: 开发环境:自己的电脑 测试环境:提供给测试人员使用的环境 预发布环境:数据是和生成环境的数据一致,运行最新的项目代码进去测试 生产环境:项目最终发布上线的环境 如果不同环境使用不同的ip去访问,可能会出现一些问题。为了保证所有环境的一致,我们会在各种环境下都使用域名来访问。我们会使用以下域名或者类似的域名: 主域名是:www.xxx
2021-08-06 23:23:03 12402
原创 项目中MyBatis配置、MyBatisPlus的配置以及Mapper的扫描
项目中MyBatis配置@Slf4j@ConditionalOnResource(resources = {"classpath:mapper"})@ConditionalOnClass({SqlSessionFactory.class})public class MyBatisAutoConfiguration { @Autowired private Interceptor[] interceptors; @Bean(name = "sqlSessionFact.
2021-08-05 23:24:11 2976
原创 Feign默认日志级别为NONE,不记录任何日志信息,示例将日志级别改为info,服务间调用错误处理
/** * @description 自定义feign日志,默认得feign是debug级别,改为info级别 */public class InfoFeignLogger extends feign.Logger { private final Logger logger; InfoFeignLogger(Logger logger) { this.logger = logger; } @Override protected v...
2021-08-05 23:04:44 1281
原创 工具类之对象转换工具POJO转换成目标类型(反射应用)
public class PojoConvertUtils { private static Logger logger = LoggerFactory.getLogger(PojoConvertUtils.class); /** * 变量缓存 */ private static final Map<String, Map<String, Field>> CACHEFIELDS = new ConcurrentHashMap<...
2021-08-05 22:47:33 424
原创 基于Redission实现的DistributedLock
基于Redission的分布式注解@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public @interface RedisLock{ /** * 支持@RedisLock(product:${name}:${id}:value)这种方式定义lockKey * @return */ String lockKey() default ""; /** * 获
2021-08-05 22:38:59 541
系统集成项目管理工程师.rar
2021-03-13
JDK SE8 Java语言规范与虚拟机规范 官方文档
2020-10-14
message-push-service.rar
2020-08-26
redis、activemq、juc、jvm、gc等知识点的脑图.rar
2020-05-04
Windows下安装Rabbitmq需要的安装包.rar
2020-04-26
视频对应课件-软件设计师
2020-01-18
Interview_Guide.rar
2019-09-11
smartgit-win32-setup-jre-17_1_4.zip
2019-09-04
maven&freeSSHd&freeFTPd&gitblit-1.9.2&pdfbox-2.0.28.jar
2023-05-11
水果商城sql文件,亲测可用
2022-12-04
Java EE互联网轻量级框架整合开发 SSM框架(Spring MVC+Spring+MyBatis)和Redis实现.rar
2021-12-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人