Java基础
文章平均质量分 76
Java基础
愿你是阳光 ^ _ ^
看看就好了
展开
-
java,钉钉小程序免密登录
当安全域名更新时,需要在小程序开发工具重新打包上传版本,设置的域名才会生效。如果未填写,在钉钉PC端工作台点击应用图标时,会提示“电脑版暂不支持显示,请用手机钉钉扫描下方二维码查看”。免登是指用户进入应用后,无需输入钉钉用户名和密码,应用程序可自动获取当前用户身份,进而登录系统的流程。:输入调用钉钉服务端API时使用的IP即企业服务器的公网IP,多个IP请以","隔开,支持带一个*号通配符的IP格式。安全域名是后端服务部署的服务器的公网IP或域名,本教程输入127.0.0.1。注册了钉钉管理员账号。原创 2023-08-15 15:01:57 · 883 阅读 · 0 评论 -
Java对接阿里云sms短信服务发送验证码
1.购买阿里云短信服务2.申请签名3.申请短信模板4.获取密钥5.maven依赖<dependency><groupId>com.aliyun</groupId><artifactId>dysmsapi20170525</artifactId><version>2.0.9</version></dependency>6.发送...原创 2022-05-26 17:38:34 · 1580 阅读 · 0 评论 -
云服务器,liunx服务器上的图片通过浏览器访问
1.在服务器上安装tomcat分享一个tomcat下载链接链接:https://pan.baidu.com/s/1LpVXFtPwhQZOyWiWBvVpVA提取码:thk62,将下载的tomcat安装包上传到服务器中3.在服务器中新建一个文件夹,存放图片mkdir img4.解压tomcat文件夹解压命令:tar -zxf apache-tomcat-8.5.78(tomcat文件名)进入文件中cd apache-tomcat-8.5.78/.原创 2022-05-25 16:41:12 · 2264 阅读 · 0 评论 -
服务器安装node,配置vue环境
1.node下载包链接:https://pan.baidu.com/s/1fCDwL3dSOsGeIMOn0q3lsA提取码:thk62.node官网CNPM Binaries Mirror下载.gz,liunx系统的压缩包2.用工具连接liunx系统进入到usr,创建node文件夹cd usrmkdir node2.把安装包上传到liunx服务器,放入创建的文件夹中,并解压tar -zxvf (压缩包名)3.环境变量配置vi /etc/pro.原创 2022-05-21 11:11:11 · 305 阅读 · 0 评论 -
服务器安装mysql
1 .查看是否已经安装 Mysqlrpm -qa |grepmysql如果有文件的话,就要删掉rpm -e 文件名2.下载Mysql 包wget-i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm2.1下载可能会出现错误这是密钥错误的原因2.2.解决方法1.gpg --export -a 3a79bd29 > 3a79bd29.asc2....原创 2022-05-17 15:25:50 · 956 阅读 · 0 评论 -
服务器安装 redis
1.新建文件夹,下载redis包cd usrmkdir redis2.下载命令wget http://download.redis.io/releases/redis-4.0.8.tar.gz3.安装gccredis运行需要安装gcc4.解压redistar xzf redis-4.0.8.tar.gzll 查看一下 是否解压成功5.进入redismake 安装redismake install安装redis6.进入 ...原创 2022-05-13 11:30:29 · 560 阅读 · 0 评论 -
服务器发布Java jar包
接上一章服务器安装jdk1.准备一个java包将jar包放在服务器上的一个文件夹中我放在 /usr/jar 路径下面cd usrmkdir jar2.将准备的jar包放在这个文件夹下面3.启动jar包java -jar springboot_demo-1.0-SNAPSHOT.jar (jar包名称)4.启动成功5.浏览器输入 地址首页123.60.110.82:9527/index.html6.手机测试(因为是公网ip,可以...原创 2022-05-13 10:24:10 · 428 阅读 · 0 评论 -
云服务器安装 JDK
1.下载Jdk包,可以下载到本地,上传到服务器,也可以使用命令下载这里提供一个下载地址,下载到本地,移动到服务器上链接:https://pan.baidu.com/s/1o7ghZBXcL5mQnDKregJHuA提取码:thk62.下载到桌面之后移动到服务器上,可以新建文件夹,也可以放到其他地方,文件路径没有什么要,我一般放在usr下面,新建一个java文件夹cd usr 进入usr文件夹mkdir java 创建java文件夹cd java 进入java文件夹3..原创 2022-05-13 10:09:30 · 1911 阅读 · 1 评论 -
购买华为云服务器
1华为云官网云服务器_云主机_弹性云服务器ECS_租用_购买-华为云2.进入购买页面,选择合适的计费方式,如果是自己玩的话,选择按需计费就好了,如果是公司的服务器中科院选择包年或者包月3.选择公共镜像,使用sentos,选择相对应的版本4.选择镜像之后,网络配置5.高级配置6.立即购买7.查看服务器8.用FinalShell或者xShell连接服务器,复制弹性公网ip地址9. 进入FinalShell,新建连接,将输入名称,主机就是复制的...原创 2022-05-13 09:29:09 · 213 阅读 · 0 评论 -
Java面试题——实际应用场景
问题一:有一张表,里面有很多的数据,有可能一万条也有可能两万条,现在我需要查询这张表中最后一条数据,表结构的主键id是自增长的。问题解析:这个问题前面的都是废话,只有最后一句话是最重要的,主键自增长,这代表什么呢,代表最后一条数据的id在所有数据中都是最大的,这就很好办了,我们先查询全部数据,对数据的id进行一个排序,倒叙desc,最后再limit 1 查询第一条数据,这就是最后一条数据SQL:SELECT * FROM `表名` ORDER BY id DESC LIMIT 1原创 2022-05-12 11:12:48 · 2524 阅读 · 0 评论 -
实际应用场景——查询一张表1分钟添加了多少条数据
解析这个场景有2种实现方式:一种需要写SQL语句,一种不需要写SQL,逻辑都一样1.可以用SQL语句来实现SQL语句SELECT * FROM `表名` WHERE (创建时间) <(小于) #{当前时间} AND (创建时间) >(大于) #{当前时间减一分钟}代码controller @GetMapping("/SqlTest") public AjaxResult SqlTest() { AjaxResult ..原创 2022-05-12 10:41:52 · 944 阅读 · 0 评论 -
Springboot 拦截器,拦截所有请求,判断是否登录,验证权限
Java的三大器拦截器的作用Java里的拦截器是动态拦截Action调用的对象,它提供了一种机制可以使开发者在一个Action执行的前后执行一段代码,也可以在一个Action执行前阻止其执行,同时也提供了一种可以提取Action中可重用部分代码的方式。功能:可以进行权限验证,审计日志等。代码实现拦截器配置类package com.thk.Interceptor;import org.springframework.context.annotation.Bean;i..原创 2022-05-09 13:14:56 · 15854 阅读 · 0 评论 -
Springboot项目 win10系统运行jar包
问题接上一节,将项目打成jar包之后,启动项目,关闭cmd页面之后,服务就断了,不像在linux系统运行jar包,可以一直运行解决问题方法利用win10系统有一个开机自启功能1.在项目的target下面创建两个文件,文件名为:start.bat和start.vbsstart.bat编辑内容cd /d D:/ideatwo/springboot_demo/targetjava -jar springboot_demo-1.0-SNAPSHOT.jarexit注意:..原创 2022-05-07 17:57:41 · 1214 阅读 · 0 评论 -
Springboot 项目打包 jar包
以idea编辑器为例1.点击右上角的maven2.打开Lifecycle3.双击package4.打包成功4.找到项目target文件夹中的jar包5.在地址栏输入cmd,回车键6.原创 2022-05-07 17:27:40 · 535 阅读 · 0 评论 -
地址省市县三级联动------数据库设计
数据库设计DROP TABLE IF EXISTS `sys_address`;CREATE TABLE `sys_address` ( `region_id` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '地区主键编号', `region_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT...原创 2022-05-07 13:44:15 · 2172 阅读 · 0 评论 -
Springboot 搭建oss文件上传服务器
1.登录阿里云官网https://www.aliyun.com/?spm=5176.8466032.top-nav.dlogo.724e1450B4jI0X2.选择控制台3. 找到对象存储oss4.选择Bucket 列表5.创建bucket列表6.获取密钥,点击右上角的小人,选择accesskey管理7.继续使用8.查看密钥,获取验证码9.复制保存密钥以上步骤是配置和获取阿里云oss文件服务器的密钥java代码...原创 2022-05-06 12:03:16 · 4555 阅读 · 0 评论 -
Springboot 临时授权
以下代码只是部分代码,全部代码链接:链接:https://pan.baidu.com/s/173HysoAbd9o3C1KfAQ_taA提取码:thk6思路:这个临时授权有简单有难的,我做的算是最简单的,能实现一些基本的功能,只有在指定的时间段内可以访问临时授权思路1.数据库设计,在用户表添加三个字段:start_date(开始时间) ,end_date(结束时间),authorizer(授权人)2.超级管理员admin登录,给某一个用户授予临时权限(传递参数:临时授权人 id,.原创 2022-05-05 16:45:29 · 1552 阅读 · 0 评论 -
Springboot简单授权,限制访问
思路:1.获取请求头中token,从redis中获取当前登录对象的id 方法: request.getHeader("token")2.通过用户id到数据库中查询当前登录对象的角色,获取到角色id3.通过角色id关联查询当前登录对象能访问的url 返回ArrayList<power>4.请求头中获取当前访问接口的url路径 方法:request.getRequestURI();5.将ArrayList遍...原创 2022-04-29 17:24:53 · 2837 阅读 · 2 评论 -
Springboot 获取当前登录对象信息,退出登录
获取当前登录对象信息登录流程1.浏览器发起请求获取验证码2.接收请求,生成验证码,保存到redis中,设置过期时间5分钟,返回浏览器3.浏览器输入用户名,密码,验证码,uuid4.接收请求,通过用户名到数据库中查询用户5.数据库返回数据库,判断用户是否存在6.从通过uuid到redis中查询验证码和浏览器传入的验证码进行对比,判断验证码是否一样7.判断密码是否一样8.判断账户是否被禁用9.Jwt生成touken10.以token为key,用户id为value原创 2022-04-29 10:21:15 · 3597 阅读 · 0 评论 -
Springboot实现批量添加,批量删除
vo:接收前端参数@Datapublic class PeoPleVo extends People { /** * 批量删除id */ private Long[] ids; /** * 批量添加参数 */ private List<People> list;}controller/** * 批量添加 * * @param peoPleVo * @param request * @pa原创 2022-04-28 14:51:18 · 6071 阅读 · 3 评论 -
Springboot实现简单登录
全部代码:链接:https://pan.baidu.com/s/1dFQOXLhVwQyHHqVTUvQFEw提取码:thk6登录流程1.浏览器发起请求获取验证码2.接收请求,生成验证码,保存到redis中,设置过期时间5分钟,返回浏览器3.浏览器输入用户名,密码,验证码,uuid4.接收请求,通过用户名到数据库中查询用户5.数据库返回数据库,判断用户是否存在6.从通过uuid到redis中查询验证码和浏览器传入的验证码进行对比,判断验证码是否一样7.判断密码是..原创 2022-04-27 18:02:02 · 6686 阅读 · 1 评论 -
Springboot集成pagehelper 分页插件
引入依赖<!-- 分页插件 --><dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.4.1</version></dependency>application.yml配置原创 2022-04-25 10:22:12 · 2913 阅读 · 0 评论 -
SpringBoot集成Mybatis-Plus
接上一章,SpringBoot项目实现增删改查_原你是阳光(#`O′)的博客-CSDN博客,集成Mbatis-PlusMbatis-Plus特点无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求支持 Lambda 形式调用:通过 Lambda 表达原创 2022-04-25 09:20:27 · 200 阅读 · 0 评论 -
SpringBoot项目实现增删改查
SpringBoot项目实现增删改查原创 2022-04-24 15:06:39 · 6945 阅读 · 0 评论 -
Java 连接MySql数据库配置
MySql5.5数据库下载及安装链接:https://pan.baidu.com/s/1AmCvGx9lVGXsE7DbaKtCXw提取码:thk6安装步骤:详见:MySQL 5.5详细安装教程 - 知乎安装navicat15 ,mysql图形化管理工具链接:https://pan.baidu.com/s/12DV1Gc1CinOPBkUgkt3N4A提取码:thk6安装破解步骤详见:https://www.jb51.net/article/199525...原创 2022-04-24 11:57:23 · 6925 阅读 · 4 评论 -
Java 泛型
Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。假定我们有这样一个需求:写一个排序方法,能够对整型数组、字符串数组甚至其他任何类型的数组进行排序,该如何实现?答案是可以使用Java 泛型。使用 Java 泛型的概念,我们可以写一个泛型方法来对一个对象数组排序。然后,调用该泛型方法来对整型数组、浮点数数组、字符串数组等进行排.原创 2022-04-24 10:18:32 · 50 阅读 · 0 评论 -
Java 接口
接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。另外,在 Java 中,接口类型可用来声明一原创 2022-04-24 10:13:32 · 57 阅读 · 0 评论 -
Java 多态
多态是同一个行为具有多个不同表现形式或形态的能力。多态就是同一个接口,使用不同的实例而执行不同操作,如图所示:多态性是对象多种表现形式的体现。现实中,比如我们按下 F1 键这个动作:如果当前在 Flash 界面下弹出的就是 AS 3 的帮助文档; 如果当前在 Word 下弹出的就是 Word 帮助; 在 Windows 下弹出的就是 Windows 帮助和支持。同一个事件发生在不同的对象上会产生不同的结果。多态的优点1. 消除类型之间的耦合关系 2. 可替换性原创 2022-04-24 09:57:29 · 48 阅读 · 0 评论 -
Java 继承
继承的概念继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。生活中的继承:兔子和羊属于食草动物类,狮子和豹属于食肉动物类。食草动物和食肉动物又是属于动物类。所以继承需要符合的关系是:is-a,父类更通用,子类更具体。虽然食草动物和食肉动物都是属于动物,但是两者的属性和行为上有差别,所以子类会具有父类的一般特性也会具有自身的特性。原创 2022-04-22 14:23:06 · 81 阅读 · 0 评论 -
Java 封装
在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。要访问该类的代码和数据,必须通过严格的接口控制。封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。封装的优点 1. 良好的封装能够减少耦合。 2. 类内部的结构可以自由修改。原创 2022-04-22 14:04:10 · 53 阅读 · 0 评论 -
Java 日期时间
java.util 包提供了 Date 类来封装当前的日期和时间。 Date 类提供两个构造函数来实例化 Date 对象。第一个构造函数使用当前日期和时间来初始化对象。Date( )第二个构造函数接收一个参数,该参数是从 1970 年 1 月 1 日起的毫秒数。Date(long millisec)Date 对象创建以后,可以调用下面的方法序号 方法和描述 1 boolean after(Date date) 若当调用此方法的Date对象在指定日期之后返回tru原创 2022-04-22 13:52:08 · 110 阅读 · 0 评论 -
Java 数组
数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。Java 语言中提供的数组是用来存储固定大小的同类型元素。你可以声明一个数组变量,如 numbers[100] 来代替直接声明 100 个独立变量 number0,number1,....,number99。本教程将为大家介绍 Java 数组的声明、创建和初始化,并给出其对应的代码。声明数组变量首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法:dataType[] arr原创 2022-04-22 13:42:43 · 59 阅读 · 0 评论 -
Java 条件语句
Java 条件语句 - if...else一个 if 语句包含一个布尔表达式和一条或多条语句。语法if(布尔表达式){ //如果布尔表达式为true将执行的语句}如果布尔表达式的值为 true,则执行 if 语句中的代码块,否则执行 if 语句块后面的代码例子:public static void main(String[] args) { int x = 10; if( x < 20 ){ System.out.prin原创 2022-04-22 12:00:21 · 59 阅读 · 0 评论 -
Java 环境变量配置
系统安装java下载JDK首先我们需要下载 java 开发工具包 JDK,下载地址:Java Downloads | Oracle,在下载页面中根据自己的系统选择对应的版本,本文以 Window 64位系统为例:下载后 JDK 的安装根据提示进行,还有安装 JDK 的时候也会安装 JRE,一并安装就可以了。安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为C:\Program Files (x86)\Java\jdk1.8.0_91。配置环境变量1.安装完..原创 2022-04-22 09:55:28 · 205 阅读 · 0 评论 -
Java 对象和类
Java作为一种面向对象语言。支持以下基本概念:多态 继承 封装 抽象 类 对象 实例 方法 重载本节我们重点研究对象和类的概念。对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。 类:类是一个模板,它描述一类对象的行为和状态。下图中男孩(boy)、女孩(girl)为类(class),而具体的每个人为该类的对象(object):下图中汽车为类(class),而具体的每辆车为该..原创 2022-04-22 11:29:18 · 68 阅读 · 0 评论 -
Java 基础语法
一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。 类:类是一个模板,它描述一类对象的行为和状态。 方法:方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的。 实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。第一个Java程序下面看一原创 2022-04-22 11:17:49 · 46 阅读 · 0 评论 -
Java 循环结构 - for, while 及 do...while
顺序结构的程序语句只能被执行一次。如果您想要同样的操作执行多次,就需要使用循环结构。Java中有三种主要的循环结构:while循环 do…while循环 for循环在 Java5 中引入了一种主要用于数组的增强型 for 循环。while 循环while是最基本的循环,它的结构为while( 布尔表达式 ){//循环内容}例子:public static void main(String[] args) { int x...原创 2022-04-22 11:51:02 · 56 阅读 · 0 评论 -
Java 基本数据类型
Java 的两大数据类型:内置数据类型 引用数据类型内置数据类型Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。byte:byte 数据类型是8位、有符号的,以二进制补码表示的整数; 最小值是-128(-2^7); 最大值是127(2^7-1); 默认值是0; byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一; 例子:byte a = 100,byte ...原创 2022-04-22 11:38:50 · 96 阅读 · 0 评论