
java
文章平均质量分 58
召田最帅boy
一名来自衡阳的Java工程师,热爱技术与分享。
展开
-
使用Spring Boot整合Mybatis-Plus实现数据库的增删查改
使用springboot整合mybatis-plus实现数据库的增删查改1、准备数据库中的表及表中的数据/*SQLyog Ultimate v12.09 (64 bit)MySQL - 5.6.11 : Database - mp**********************************************************************//*!40101 SET NAMES utf8 */;/*!40101 SET SQL_MODE=''*/;/原创 2021-04-21 10:04:37 · 2078 阅读 · 3 评论 -
实现异步天气数据获取与Spring缓存集成
你好呀,我是小邹。在Web应用中,实时天气数据的获取是一个常见的需求,特别是在需要频繁更新天气信息的场景下,如旅游网站、天气应用或任何需要展示地理位置相关天气的应用。然而,频繁的外部API调用不仅会增加服务器的负担,还可能导致网络延迟,影响用户体验。为了优化这一过程,本文将介绍如何在Spring Boot应用中利用异步调用和缓存技术来高效地获取并存储天气数据。原创 2024-07-16 17:26:00 · 851 阅读 · 0 评论 -
SpringBoot结合ip2region实现博客评论显示IP属地
你好呀,我是小邹。在现代的Web应用中,特别是博客和论坛类网站,为用户提供地理定位服务(如显示用户所在地理位置)可以极大地增强用户体验。本文将详细探讨如何使用Java和相关技术栈来实现在博客评论中显示用户的地址信息,特别关注如何利用ip2region库解析IP地址获取地理位置。原创 2024-07-16 17:24:10 · 735 阅读 · 0 评论 -
Nginx线上配置https示例文件
ssl证书的pem文件路径。#ssl证书的key文件路径。#将请求转成https。http://你的ip:项目端口号。原创 2024-06-24 21:52:40 · 531 阅读 · 0 评论 -
Java程序实现多语言资源JSON文件生成
你好呀,我是小邹。在现代软件开发中,实现应用程序的多语言支持是一项基本需求,以适应全球用户的语言环境。本文将介绍一段Java代码,其主要功能是生成一个特定格式的JSON文件,用于存储和管理中英文双语对照的键值对,从而为应用程序的国际化提供所需资源。原创 2024-04-16 15:19:32 · 803 阅读 · 0 评论 -
HTML获取SpringBoot从model传的值
[${传入的值}]]原创 2023-05-19 17:04:40 · 2255 阅读 · 0 评论 -
基于SpringBoot的个人博客(开源项目)
(源码地址在文末)原创 2023-04-19 15:01:42 · 3180 阅读 · 8 评论 -
maven中阿里云镜像依赖无法加载的解决方案
阿里云的镜像原创 2023-04-10 10:40:25 · 2717 阅读 · 0 评论 -
Java实现给PDF文件加水印、图片、签名(含测试类)
你好呀,我是小邹。昨天给大家分享了PDF文件添加水印后保存,今天再来聊一聊如何实现印章、签名。原创 2022-11-25 17:29:17 · 6411 阅读 · 3 评论 -
Linux命令速查手册
【代码】Linux命令速查手册。原创 2022-09-29 18:11:36 · 1534 阅读 · 0 评论 -
关于博客文章的阅读
现在文章更新基本是在csdn和个人博客两个平台同步更新,不过个人博客的内容会比较全,推荐大家访问~原创 2022-09-22 18:30:24 · 1470 阅读 · 0 评论 -
mapstruct的基本使用
你好呀,我是小邹。今天给大家分享一下mapstruct的基本使用。MapStruct是一个Java注释处理器,用于生成类型安全的bean映射类。您要做的就是定义一个映射器接口,该接口声明任何必需的映射方法。在编译期间,MapStruct将生成此接口的实现。此实现使用简单的Java方法调用在源对象和目标对象之间进行映射,即没有反射或类似内容。与手动编写映射代码相比,MapStruct通过生成繁琐且易于出错的代码来节省时间。遵循配置方法上的约定,MapStruct使用合理的默认值,但在配置或实现特殊行为时不加理原创 2022-09-08 14:49:15 · 2435 阅读 · 2 评论 -
博客的评论与回复功能的实现
你好呀,我是小邹。在之前的文章中,提到了个人博客的简单回复功能的实现,今天记录一下完整的评论功能的实现。数据库设计:评论表需要定义出当前博客id以便做关联,因为评论需要有回复功能,则需要定义当前评论有无上一级评论,需要定义出上级评论id。代码方面:点击评论需要获取当前博客id与自己评论数据进行插入,点击回复按钮需要获取上一条评论的id以及用户姓名作为回复,回复成功后,后台在数据库中查找出所有parentCommentId为-1的值进行遍历,因为上级id为-1则证明当前评论无父节点。在通过对父节点id的遍历查原创 2022-08-24 02:33:16 · 7389 阅读 · 7 评论 -
面试官:synchronized可以锁字符串吗?
在日常项目中可能存在需要防止用户数据并发操作的问题,需要对代码块进行加锁保护。例如:用户输入存数据库,重复数据不存DB;用户操作缓存数据等,这里想尽可能把锁的对象放小,因此通常都是锁用户而不是锁整个类或者代码块;然而在用的时候可能会存在一些问题。synchronized可以锁存活于字符串常量池中的值,不能锁存活于堆栈中的字符串(字符串地址要相同)可以使用String对象.intern()将该字符串放入字符串常量池中,但是常量池的回收只能依赖于fullGC,故不推荐使用。原创 2022-08-22 13:02:06 · 2302 阅读 · 0 评论 -
博客导流到微信公众号
你好呀,我是小邹。最近在个人博客网站上加了个新功能,在大家第一次阅读本站文章的时候,会隐藏文章的部分内容,跳出个关注微信公众号的界面,通过简单发送一串数字来获取验证码,输入验证码后,网站就恢复正常访问。这个动作只需要操作一次,因此对用户体验来讲,影响并不大,但是却可以给微信公众号提供流量。写作确实不易,支持才有动力。(效果如下)原创 2022-08-20 23:53:50 · 2004 阅读 · 0 评论 -
使用Java代码制作二维码(超级简单)
大家可以放心扫描,此二维码为跳转我博客首页链接,不含任何病毒。真的是灰常简单,导入三个jar包,十几行代码就搞定了。已经打包放在阿里云盘里面,原创 2022-08-20 16:58:52 · 4651 阅读 · 0 评论 -
Java实现对某一文件夹下的所有txt文件进行两两对比并展示差异
Java实现对某一文件夹下的所有txt文件两两对比原创 2022-08-03 15:37:49 · 1215 阅读 · 0 评论 -
SpringBoot绕过Nginx代理获取客户端真实IP的解决方案(亲测有效)
你好呀,我是小邹。最近,因为之前使用的gitalk评论插件最近不好使了,而且还需要登录才能评论。细心的朋友会发现,现在博客的每一条评论都添加上了IP属地,本文记录一下。首先看一下效果图。......原创 2022-07-17 14:31:35 · 7050 阅读 · 0 评论 -
解决SpringBoot打成jar包无法加载resources下文件的问题(亲测有效)
SpringBoot打包成jar部署到Linux运行加载不了application.yml文件的解决办法。导入的是Spring的核心包和commons.io包。原创 2022-07-17 11:20:01 · 2387 阅读 · 0 评论 -
自定义框架设计(仿MyBatis)
原文链接:https://www.hqxiaozou.top/post/3f2enyulrsd原创 2022-06-10 13:56:05 · 655 阅读 · 0 评论 -
Elasticsearch7.x实战指南
原文链接:https://www.hqxiaozou.top/post/tnep6uzrc3yElasticsearch7.x版本新特性集群连接变化:TransportClient被废弃。以至于,es7的java代码,只能使用restclient。对于java编程,建议采用 High-level-rest-client 的方式操作ES集群。High-level REST client 已删除接受Header参数的API方法,Cluster Health API默认为集群级别。ES数据存储原创 2022-05-24 19:34:30 · 1226 阅读 · 0 评论 -
什么是类型通配符?
一、类型通配符当声明一个方法时,某个形参的类型是一个泛型类或泛型接口类型,但是在声明方法时,又不确定该泛型实际类型,可以考虑使用类型通配符。先来看下面一个案例 public static void test(List c){ for (int i = 0; i < c.size(); i++) { System.out.println(c.get(i)); } }上面的方法执行是没有问题的,但是此处使用 List原创 2021-10-26 10:21:52 · 1334 阅读 · 1 评论 -
Java基础之类型擦除
Java泛型是伪泛型,因为Java在编译期间,所有的泛型信息都会被擦除掉,这就是通常所说的类型擦除。以下举例说明:可以看到如果直接在Integer类型集合中添加字符串是会报错的,那么是不是就一定不能添加了呢?答案是否定的,可以通过Java泛型中的类型擦除特点及反射机制实现。如下package demo;import java.lang.reflect.Method;import java.util.ArrayList;/** * @author: 邹祥发 * @date: 2021/9原创 2021-09-17 11:01:56 · 433 阅读 · 0 评论 -
面试篇之Redis
什么是Redis?Redis是完全免费开源的,遵守BSD(Berkeley Software Distribution)协议,是一个高性能的key-value数据库。Redis支持数据的持久化(如何实现数据的持久化?请点击),可以将内存中的数据保存到磁盘中,重启的时候可以再次加载使用。Redis支持数据的备份,即master-slave模式的数据备份。Redis的优势?性能极高,Redis能读的速度是110000次/s,写的速度是81000次/s。丰富的数据类型,Redis支持二进制案例的原创 2021-09-12 20:06:29 · 762 阅读 · 0 评论 -
LinkedList常用API详解
方法API及源码:public E peek():检索但不删除此列表的头(第一个元素)。public E peekFirst():检索但不删除此列表的第一个元素,如果此列表为空,则返回 null 。public E peekLast():检索但不删除此列表的最后一个元素,如果此列表为空,则返回 null 。public E poll():检索并删除此列表的头(第一个元素)。public E pollFirst():检索并删除此列表的第一个元素,如果此列表为空,则返回 null 。pub原创 2021-08-29 17:55:44 · 1653 阅读 · 0 评论 -
MySQL中包含外键无法删除数据的解决方案
1.在数据库连接信息加入以下代码,意思就是允许执行多语句查询。allowMultiQueries=true2.在删除语句前面加上SET FOREIGN_KEY_CHECKS=0;意思就是取消MySQL中的外键约束。String deleteSql = "SET FOREIGN_KEY_CHECKS=0;DELETE FROM photo WHERE id = ? ;";通过以上两步即可解决外键无法删除数据的问题。需要注意的是:不要随意禁用外键约束,因为这样就无法再保证数据的一致性了。.原创 2021-08-26 18:31:36 · 4350 阅读 · 3 评论 -
基于Spring Boot、Mybatis-Plus、Bootstrap的信息管理平台
项目演示:1. 拦截器功能用户无法直接访问首页,只放行登录注册页面2. 注册页面3. 登录后页面4. 文件上传后台打印存储的路径5. 联系人信息管理6. 导航栏6-1 个人资料6-2 修改密码7. 用户管理通过注册的用户为普通用户,无该权限!7-1 管理员7-1-1 添加用户7-1-2 修改用户用户ID和用户名不支持修改7-1-3 删除用户测试地址http://www.hqxiaozou.top/项目地址https://gitee.c原创 2021-08-16 09:56:23 · 752 阅读 · 0 评论 -
关于Parameter ‘username‘ not found. Available parameters are [arg1, arg0, param1, param2]的解决方案
今天写用户注册功能,报了一个错误,如下:提示是参数不匹配的错误,我赶紧查看一下SQL语句发现好像并没有什么毛病啊,那为什么报这个错误呢?从报错信息来看是参数不匹配,于是我在插入前添加了两条打印语句,如下可以看到控制台成功打印,说明参数赋值没有问题,但是给出了一个SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7a214eb] was not registered for synchronization beca原创 2021-08-10 09:30:37 · 717 阅读 · 0 评论 -
Exception evaluating SpringEL expression: “pagination.data“ (template: “index“ - line 24, col 32)
具体报错信息:org.springframework.expression.spel.SpelEvaluationException: EL1007E: Property or field 'data' cannot be found on null at org.springframework.expression.spel.ast.PropertyOrFieldReference.readProperty(PropertyOrFieldReference.java:213) ~[spring-exp原创 2021-08-08 10:37:12 · 1801 阅读 · 1 评论 -
云服务器通过Nginx部署Spring Boot+Vue前后端分离项目标准配置文件
server { listen 80; #首先是nginx的监听端口默认为80 server_name localhost; #这里是你需要访问的域名地址 charset utf-8; #详细介绍location location / { root /opt/vue/dist; index index.html index.htm; try_files $uri $uri/原创 2021-07-25 21:07:49 · 307 阅读 · 2 评论 -
Java基础知识总结
一:java概述:1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒、PDA等的微处理器;1994年将Oak语言更名为Java;Java的三种技术架构:JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发;JAVASE:Java Platform Standard Edition,完成桌面应用程序的开发,是其它两者的基础;JAVAME:Java Plat原创 2021-07-09 17:15:28 · 423 阅读 · 0 评论 -
CentOS7安装JDK8
1、搜索jdk安装包yum search java|grep jdk2、下载jdk1.8,下载之后默认的目录为: /usr/lib/jvm/yum install java-1.8.0-openjdk3、配置环境变量vi /etc/profile将如下配置添加至文件中,然后保存退出#javaexport JAVA_HOME=/usr/lib/jvm/jdk1.8.0_181export PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=.:$JAV原创 2021-06-18 20:05:09 · 515 阅读 · 0 评论 -
Spring Boot中Thymeleaf通过a标签带参数向Controller层传值
<td><a th:href="@{updateUser/(id=${user.id})}">修改</a></td>原创 2021-06-18 15:40:19 · 2737 阅读 · 1 评论 -
Spring Boot拦截器设置静态资源及登录Post请求放行
正确写法:@Override public void addInterceptors(InterceptorRegistry registry) { //添加拦截器 //静态资源放行 registry.addInterceptor(new LoginInterceptor()).excludePathPatterns("/css/**","/js/**","/images/**"); }错误写法:registry.addIntercep原创 2021-06-15 09:32:14 · 1286 阅读 · 1 评论 -
SpringMVC拦截器的实现
源码地址(2021/6/11更新):https://github.com/Zou2021/ssm1.编写登录实体类package com.zou.po;import lombok.Data;@Datapublic class User { private Integer id; private String username; private String password;}2.编写login.jsp<%@ page language="java" c原创 2021-06-11 15:40:48 · 328 阅读 · 1 评论 -
java: 程序包com.fasterxml.jackson.databind不存在
解决方法使用cmd,到项目根目录下,运行命令:mvn clean install -Dmaven.test.skip=true使用cmd,到项目根目录下,运行命令:mvn -U idea:idea原创 2021-06-06 16:57:44 · 6285 阅读 · 0 评论 -
使用Mybatis执行insert、update和delete操作时自动提交(默认不会自动提交)
单独使用Mybaits,而没有集成Spring的话,执行insert、update和delete操作是不会自动提交的,即执行语句后不会在数据库有对应的数据变化。解决这样的方法就是打开自动提交开关,在创建session时,输入参数为true即可:try { InputStream inputStream = Resources.getResourceAsStream(resource);// 创建工厂 sqlSessionFactor原创 2021-05-28 20:54:08 · 2979 阅读 · 0 评论 -
将Spring Boot项目部署到阿里云CentOS7并设置关闭命令行终端项目不停止运行
1、查看本机ip地址,按住win+r,输入cmd,进入命令行,输入ipconfig2、在springboot项目的yml中修改数据库连接信息3、打包4、查看打包的jar包5、复制jar包到桌面6、使用SecureCRT连接centos7、打开本地窗口8、找到jar包,右击上传9、修改权限sudo chmod -R 777 /opt10、编写脚本,设置关闭终端项目不停止运行vim startup.sh在startup.sh中加入如下内容#!/bin/shnohu原创 2021-05-22 18:47:39 · 1192 阅读 · 0 评论 -
SpringBoot+MybatisPlus+MySQL展示数据到前端页面
1、准备数据(用python爬取某动漫网站下的数据)2、创建springboot项目3、pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apach原创 2021-05-19 14:13:19 · 4463 阅读 · 1 评论 -
SpringMvc项目的环境搭建
项目源码地址:https://github.com/Zou2021/springmvcDemo1、新建一个maven工程点击Next2、修改pom.xml文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sch原创 2021-05-09 18:24:40 · 549 阅读 · 1 评论