- 博客(36)
- 收藏
- 关注
原创 Mybatis-Plus-Generator代码生成器配置文件
pom.xml <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.0.6</version> </dependency> <dependency
2022-05-14 14:27:03
286
原创 Highcharts配合ajax使用
前端代码通过ajax调用后端接口拿到数据进行渲染<!DOCTYPE HTML><html><head> <meta charset="utf-8"><link rel="icon" href="https://jscdn.com.cn/highcharts/images/favicon.ico"><meta name="viewport" content="width=device-width, initial-scale=1"&
2022-05-13 18:35:31
461
原创 poi报表xlsx导入
导入依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.2</version> </dependency> <dependency> <groupId>org.apache.poi
2022-05-11 20:40:41
182
原创 poi报表xlsx导出
1.创建springboot工程,勾选web项目结构2.pom.xml依赖<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.2</version> </dependency>
2022-05-11 20:38:11
163
原创 MyBatis参数为Integer类型做if判断出现的问题
mybatis对传入参数进行判断时,会使用if标签, 一般是判断不为null和’', 如下:<if test="num!= null and num!= ''"> num=#{num,jdbcType=VARCHAR},</if>1、 String类型是符合的,但是如果是Integer类型的话,如果变量的值是0,即 num = 0, mybatis在进行 num != ''的时候会认为 num 的值是空字符串, 即 num == ‘’ 为true。所以如果是Int
2022-05-05 12:06:12
1076
原创 Redis+Token实现身份认证及注销
登录/** * 用户登录验证,成功返回token令牌 * @param phone * @param pwd * @return * @throws Exception */ public ReturnResult validateToken(String phone, String pwd) throws Exception { ReturnResult returnResult=null; //去数据库
2022-04-26 18:21:41
1566
原创 Linux压缩文件的命令 和解压缩的命令有哪些(多种方式)
压缩tar –cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg tar –czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz tar –cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2 tar –cZf jpg
2022-04-15 13:21:36
1086
原创 Mycat三个核心配置文件模板(主从复制,分库分表,读写分离)
schema.xml<?xml version="1.0"?><!DOCTYPE mycat:schema SYSTEM "schema.dtd"><mycat:schema xmlns:mycat="http://io.mycat/"> <schema name="逻辑库名称" checkSQLschema="false" sqlMaxLimit="100"> <table name="表名" dataNode="dn1,dn2" pr
2022-04-14 21:12:48
96
原创 公司的异常是怎么统一管理的
1.应用可以统一帮助处理一些异常(出现错误之后,跳转到我们制作好的错误页面),主要针对于表现层进行实现2.springboot实现只要是这种目录结构,只要出错就会直接进行跳转虽然非常方便,但是如果我们要记录日志,还是要用spring提供的处理机制3.各种注解@ControllerAdvice 用于修饰类,表示该类是Controller的全局配置类在此类中,可以对Controller进行如下的三种全局配置 异常处理方案、绑定数据方案、绑定参数方案@ExceptionHandler 用于修饰
2022-04-07 21:57:05
127
原创 js文件上传图片展示
js文件上传图片展示<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>图片上传</title><script src="https://code.jquery.com/jquery-3.1.1.min.js"></script><script> function cha
2022-03-25 11:55:38
137
原创 Spring Security配置及使用
安全简介:在 Web 开发中,安全一直是非常重要的一个方面。安全虽然属于应用的非功能性需求,但是应该在应用开发的初期就考虑进来。如果在应用开发的后期才考虑安全的问题,就可能陷入一个两难的境地:一方面,应用存在严重的安全漏洞,无法满足用户的要求,并可能造成用户的隐私数据被攻击者窃取;另一方面,应用的基本架构已经确定,要修复安全漏洞,可能需要对系统的架构做出比较重大的调整,因而需要更多的开发时间,影响应用的发布进程。因此,从应用开发的第一天就应该把安全相关的因素考虑进来,并在整个应用的开发过程中。市面上存在
2022-03-17 18:19:21
434
原创 springboot整合druid
Druid简介Java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,又不得不使用数据库连接池。Druid 是阿里巴巴开源平台上一个数据库连接池实现,结合了 C3P0、DBCP 等 DB 池的优点,同时加入了日志监控。Druid 可以很好的监控 DB 池连接和 SQL 的执行情况,天生就是针对监控而生的 DB 连接池。Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。Spring Boot 2.0 以上默认使用 Hikari 数据源,可以说 Hika
2022-03-16 11:17:54
223
原创 JavaWeb servlet文件上传
servlet HashMap map=new HashMap(); //上传 boolean isMultipart= ServletFileUpload.isMultipartContent(req); if (isMultipart){//判断前台的from是否有multipart属性 FileItemFactory factory=new DiskFileItemFactory();
2022-03-11 11:06:21
269
原创 MyBatis自动生成代码之generatorConfig配置文件及其详细解读
1.新建项目导入jar包新建一个新的项目,java项目,web项目,maven项目无所谓导入需要的jar包需要导入2个jar包:一个是数据库的驱动包,mysql导mysql的驱动,oracle导入oracle的驱动第二个就是反向生成包:mybatis-generator-core-1.3.2.jar2:在src下新建一个xml配置文件generatorConfig.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYP
2022-02-13 10:01:10
2741
原创 ssm整合架构(基础环境搭建)
Maven 导入依赖<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target&g
2022-01-13 16:22:07
957
原创 原生js封装Ajax
function ajax(options) { let defaults={ type:'get', url:'', data:{}, header:{'content-type':'application/json'}, success:function(){}, error:function(){} } // 使用options覆盖defaults Object.assign
2022-01-11 11:43:11
133
原创 database.properties
driver=com.mysql.cj.jdbc.Driverurl=jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=UTF8&serverTimezone=UTCuserName=rootpassWord=root
2021-12-26 21:23:20
625
原创 Java mysql连接
public class BaseDao { //定义驱动 private String driver="com.mysql.jdbc.Driver"; //定义数据库地址 private String url="jdbc:mysql://localhost:3306/kj12?characterEncoding=UTF8&serverTimezone=UTC"; //定义用户名 private Stri
2021-12-26 13:44:41
331
原创 Spring AOP详解
AOP(概念)1、什么是 AOP面向切面编程(方面),利用 AOP 可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。通俗描述:不通过修改源代码方式,在主干功能里面添加新功能使用登录例子说明 AOPAOP(底层原理)AOP 底层使用动态代理,有两种情况动的态代理:第一种 有接口情况,使用 JDK 动态代理创建接口实现类代理对象,增强类的方法第二种 没有接口情况,使用 CGLIB 动态代理创建子类的代理对象,
2021-12-17 15:28:37
673
原创 Java 图片复制
图片复制public static void main(String[] args) { File file = new File("F:\\up2.jpg");//要复制的图片地址 File file2=new File("F:\\Hello\\up2.jpg");//复制后的图片地址 InputStream fis= null;//创建输入字节流 DataInputStream dis=null;//创建数据输入流 Out
2021-12-11 20:23:48
778
原创 MD5加密
MD5加密。32位// MD5加码。32位 public static String MD5(String inStr) { MessageDigest md5 = null; try { md5 = MessageDigest.getInstance("MD5"); } catch (Exception e) { System.out.println(e.toString());
2021-12-11 20:10:45
87
原创 Java文件复制
文件夹复制package cn.demo9;import java.io.*;public class Demo2 { private static FileInputStream fis =null;//创建输入流对象 private static FileOutputStream fos=null;//创建输出流对象 public static void main(String[] args) { String srcPathStr = "F:\
2021-12-09 14:07:45
153
原创 Lombok使用以及优缺点
什么是Lombok?Lombok项目是一个Java库,它会自动插入编辑器和构建工具中,Lombok提供了一组有用的注释,用来消除Java类中的大量样板代码。仅五个字符(@Data)就可以替换数百行代码从而产生干净,简洁且易于维护的Java类。如何使用Lombok?1.在idea中安装插件2.导入架包没有使用maven需要导入架包架包地址如果使用了maven就直接导入依赖就行了<dependency> <groupId>org.projectlombok&l
2021-12-08 11:28:55
1243
原创 JAVA多种去重方式
字符串去重/** * 字符串去重 * @param str * @return */ public static String getByStr(String str){ String result=""; for (int i = 0; i < str.length(); i++) { String s=str.charAt(i)+""; if (result.index
2021-12-08 11:12:26
1383
原创 JAVA异常
什么是Java异常java异常指在程序运行时可能出现的一些错误,如:文件找不到、网络连接失败、非法参数等。异常是一个事件,它发生在程序运行期间,中断了正在执行的程序的正常指令流。Java通过API中Throwable类的众多子类描述各种不同的异常。因而,Java异常都是对象,是Throwable子类的实例,描述了出现在一段编码中的错误条件。当条件生成时,错误将引发异常常见的异常有:算术异常:ArithmeticExecption空指针异常:NullPointerException数组下标越界异常
2021-12-06 08:59:06
106
原创 Java 接口
Java 接口接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。另外,在 Java 中,接口类型可
2021-12-02 14:15:33
78
原创 JAVA三大特性之多态
多态多态的概念多态的本质是:一个程序中同名的不同方法。在面向对象的程序设计中,多态主要有以下三种方式来实现。通过子类对父类方法的覆盖来实现多态通过一个类中方法的重载来实现多态通过将子类的对象作为父类的对象实现多态。覆盖的概念我们在前面以及介绍了,接下来我们简单阐述下何为重载。重载是指一个类里面(包括父类的方法)存在方法名相同,但是参数不一样的方法,参数不一样可以是不同的参数个数、类型或顺序如果仅仅是修饰符、返回值、throw的异常 不同,那么这是2个相同的方法我们重点阐述第三种实现
2021-12-01 09:04:37
583
原创 JAVA三大特性之继承
继承继承的概念继承是面向对象的最显著的一个特征。继承是从已有的类(父类或者超类)中派生出新的类(子类),新的类能吸收已有类的数据属性和行为,并能扩展新的能力(方法的覆盖/重写)。JAVA不支持多继承,一个类只能有一个父类。父类是子类的一般化,子类是父类的特殊化(具体化)子类的特点子类拥有父类非private的属性和方法子类可以添加自己的方法和属性,即对父类进行扩展子类可以重新定义父类的方法,即方法的覆盖/重写构造函数构造函数不能被继承,子类可以通过super()显示调用父类的构造函数
2021-12-01 08:49:11
376
原创 自定义SpringMVC乱码过滤器
package com.kuang.filter;import javax.servlet.*;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletRequestWrapper;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.io.UnsupportedEncod
2021-11-30 17:17:53
102
原创 java三大特性之封装
java三大特性之封装封装的概念什么是封装呢?封装是指将类的某些信息隐藏在类的内部,不允许外部程序直接访问,通过该类提供的方法来实现对隐藏信息的操作和访问也就是说,封装是指,将实体特征的类、方法、属性隐藏起来,对象与外界仅通过公共方法进行交流。这么做有什么好处呢?这样可以提高程序的可靠性、安全性,改善程序的可维护性。总结起来就是两点:1.只能通过规定的方法来访问数据。2.隐藏类的实例细节,方便修改和实现封装的操作封装的操作:封装的三步走:第一步,定义属性、方法、类的可见性Jav
2021-11-21 13:52:28
491
原创 成员变量和局部变量
成员变量和局部变量分类细则:变量按作用范围划分分为全局变量(成员变量)和局部变量成员变量按调用方式划分分为实例属性与类属性(有关实例属性与类属性的介绍见另一博文https://blog.csdn.net/DragonGirI/article/details/81948332)局部变量按定义位置划分分为形参,方法局部变量,代码块局部变量成员变量:直接在类中声明的变量叫成员变量(又称全局变量)初始化:如果未对成员变量设置初始值,则系统会根据成员变量的类型自动分配初始值:int分配初始
2021-11-21 13:11:40
203
原创 什么是构造函数(方法)
什么是构造函数java构造函数,也叫构造方法,是java中一种特殊的函数。函数名与相同,无返回值。作用:一般用来初始化成员属性和成员方法的,即new对象产生后,就调用了对象了属性和方法。在现实生活中,很多事物一出现,就天生具有某些属性和行为。比如人一出生,就有年龄、身高、体重、就会哭;汽车一出产,就有颜色、有外观、可以运行等。这些,我们就可以将这些天然的属性和行为定义在构造函数中,当new实例化对象时,也就具有这些属性和方法了,没必要再去重新定义了,从而加快了编程效率。构造函数是对象一建立就运行,给
2021-11-21 12:48:51
2419
原创 框架学习梳理 待更新
常用maven依赖 <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependen
2021-11-20 11:49:10
91
原创 JAVA面向对象
JAVA面向对象1. 什么是面向过程?什么又是面向对象?面向过程——步骤化面向过程就是分析出实现需求所需要的步骤,通过函数(方法)一步一步实现这些步骤,接着依次调用即可面向对象——行为化(概念相对抽象,可结合下面的例子理解)面向对象是把整个需求按照特点、功能划分,将这些存在共性的部分封装成类(类实例化后才是对象),创建了对象不是为了完成某一个步骤,而是描述某个事物在解决问题的步骤中的行为举个例来了解一下例如我们设计一个桌球游戏(略过开球,只考虑中间过程)A:面向过程方式思考:把下述的步骤通
2021-11-20 11:48:12
107
原创 web小总结
1. JS常见BUG一、汇总ErrorEvalErrorRangeErrorReferenceErrorSyntaxErrorTypeErrorURIError接下来挨个进行解释。二、介绍2.1 ERRORERROR是基类型,其他的错误类型都是继承自该类型,所以所有的错误类型共享了一套相同的属性,但是ERROR错误类型很少见,只有少量浏览器会抛出该类错误。主要用于开发者自定义错误2.2 EvalError先了解Eval函数的用法当函数eval()使用不正确的时候会抛出该错
2021-11-19 12:17:28
463
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人