- 博客(53)
- 收藏
- 关注
原创 【Java开发实战攻关】「JPA技术专题」带你一同认识和使用JPA框架
1.Java Persistence API:Java对象持久化API2.JDK5.0 平台的标准 ORM 规范,可以让 Java 程序用统一方式访问持久层3.JPA 和 Hibernate 的关系JPA 是 Hibernate 的一个抽象(JDBC Interface 与 JDBC驱动的关系)JPA 本质上就是一种 ORM 规范,不是 ORM 框架,因为 JPA 并未提供 ORM 实现,它只提供了 API 接口,具体的实现由 ORM 厂商提供实现。
2023-10-23 14:59:47
1594
原创 Liux上使用POI将Word转PDF中文字体无法显示问题解决
Windows测试下载PDF没有任何问题,打包上传Linux服务器以后下载PDF只显示数字。a、将C:\Windows\Fonts 所有字体全部压缩成zip包(allfont.zip)b、将压缩包拷贝到linux服务器上的 /usr/share/fonts目录。1、Word转换PDF成功但是中文显示不出都是因为字体的问题。d、使用命令刷新到缓存中:执行命令:fc-cache -fv。c、unzip allfont.zip 解压文件。
2023-06-21 15:43:41
1028
1
原创 mongodb启动报错:mongodb error:NonExistentPath: Data directory /data/db not found.
其中 NonExistentPath: Data directory /data/db not found. Create the missing directory or specify another path using (1) the --dbpath command line option, or (2) by adding the ‘storage.dbPath’ option in the configuration file.使用 --dbpath启动。
2023-05-09 10:23:22
1944
原创 SpringBoot定时任务 @Scheduled详解
这就导致了一个非常严重的分布式问题:在每一台机器上都会在同时执行定时调度任务,可能产生很多重复数据或者导致系统出现其他的业务逻辑BUG,所以在使用@Scheduled进行任务调度时,一定要配合redis的分布式锁来使用,让定时调度任务只在一台机器上执行,避免BUG出现。这个参数是最经常使用的参数,表示接收一个cron参数,cron它是一个表达式,最多接收7个参数,从左到右分别表示:秒 分 时 天 月 周 年;在使用时需要在类上添加注解@EnableScheduling,表示开启定时任务。
2023-04-04 10:29:32
2969
原创 mybatis中判断传入的数组与集合是否为空
比如参数为List集合,在mybatis中先判断是否为null,不为null再判断集合的长度 object.size() 是否大于0即可。传过来的数组 object[] ,在mapper中判空时先判断是否为null,再判断数组长度 object.length是否大于0.第二种:参数Map类型,只需要获取key值或者value值。如果collection的类型为List。也可以,使用默认属性值array作为keyname。也可以使用默认属性值list作为keyname。
2023-04-04 10:18:47
2960
原创 开启MySQL二进制日志(binlog)
前言binlog即二进制日志 Binary Log,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。一般来说开启二进制日志大概会有一定的性能损耗。二进制日志有两个最重要的使用场景:Mysql主从复制模式下,Master(主机)把它的二进制日志传递给Slaves(从机)来达到master-slave数据一致的目的。数据恢复,如果出现数据误删通过使用mysqlbinlog工具进行数据恢复。
2023-04-04 10:15:16
2532
原创 yarn add依赖的时候报错:An unexpected error occurred: “EPERM: operation not permitted, unlink ‘D:\\workspace
一个意外的错误:“权限不足:不允许操作,断开 ‘'E:\workspase\AntDesignPro\myapp\node_modules\esbuild-loader\node_modules\esbuild\esbuild.exe”网上也查询了一下其他资料,发现是因为当前的binding.node进程正在运行中,必须断开进程才能继续安装你当前的依赖。多方思考,我才知道,是因为当前项目是运行中状态,使用快捷键ctrl+c关掉项目,然后重新安装依赖即可!
2023-03-14 10:16:28
2871
2
原创 Git使用教程:最详细、最傻瓜、最浅显、真正手把手教
自动在拉取的时候会把冲突的文件进行合并,只不过会把冲突部分用特殊句式标注出来,我们需要手动指定最终版本然后再提交推送。所以,如果我们提交的粒度足够小,冲突的代码就会比较少,就会比较容易解决。# ignore doc/notes.txt, but not doc/server/arch.txt 忽略doc目录下的所有以.txt结尾的直接子文件,但是不会忽略子目录中的txt文件。暂存区:是一个临时存储空间,工作区中的文件要先添加到暂存区,然后才能提交到本地仓库中成为一个版本。把本地仓库推送到远端。
2023-03-11 15:14:04
1017
原创 HTML+CSS入门
CSS指层叠样式表 (Cascading Style Sheets),用来定义HTML网页中的内容用什么样式来显示。HTML: 指定网页显示的内容CSS: 指定内容显示的样式。
2023-03-10 10:14:26
1339
原创 Java反射
是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意属性和方法;这种动态获取信息以及动态调用对象方法的功能称为Java语言的反射机制。
2023-03-10 10:10:03
322
原创 Java-多线程
1 , 创建 ReentrantLock 对象 Lock lock = new ReentrantLock();2 , 加锁解锁方法。
2023-03-10 10:07:45
348
原创 Java核心类库
System的这些方法 都是静态的。System的构造方法私有的。System是不能创建对象的。Math的这些方法 都是静态的。Math的构造方法私有的。Math是不能创建对象的。工具类 :private 私有构造, 里面全部都是 静态方法。工具类 :private 私有构造, 里面全部都是 静态方法。格式化 Date —> String。作用: 主要是为了用来拼接字符串的。基本类型和String之间的转换。jdk8 后加的表示时间的类。Object 类的 工具类。Arrays 类的 工具类。
2023-03-10 10:03:17
501
原创 SpringCloud微服务保护
什么是雪崩问题?微服务之间相互调用,因为调用链中的一个服务故障,引起整个链路都无法访问的情况。限流是对服务的保护,避免因瞬间高并发流量而导致服务故障,进而避免雪崩。是一种预防措施。超时处理、线程隔离、降级熔断是在部分服务故障时,将故障控制在一定范围,避免雪崩。是一种补救措施。Sentinel是阿里巴巴开源的一款微服务流量控制组件。官网地址:https://sentinelguard.io/zh-cn/index.htmlSentinel 具有以下特征:•丰富的应用场景。
2023-03-10 10:02:06
559
原创 Springboot集成Freemarker|超级详细,建议收藏
上一期,我是带着大家入门了SpringBoot集成Kafka,今天我再来一期Freemarker的零基础教学吧。不知道大家对kafka有多少了解,反正我就是从搭建开始,然后再加一个简单演示,这就算是带着大家了个门哈,剩下的我再后边慢慢出教程给大家说。FreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。
2023-03-10 09:43:50
8056
1
原创 Springboot集成kafka(环境搭建+演示)|超级详细,建议收藏
上一期,我是带着大家入门了SpringBoot整合WebSocket,今天我再来一期kafka的零基础教学吧。不知道大家对kafka有多少了解,反正我就是从搭建开始,然后再加一个简单演示,这就算是带着大家了个门哈,剩下的我再后边慢慢出教程给大家说。/**log . info("topic.group1 消费了: Topic:" + topic + ",Message:" + msg);
2023-03-03 17:25:07
13952
5
原创 SpringBoot整合WebSocket(看完即入门)
WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。你不一定逆风翻盘,但一定要向阳而生。
2023-03-01 17:09:38
4350
1
原创 【MySQL】数据库相关操作思维导图
3.如果传入的参数是多个的时候,我们就需要把它们封装成一个Map了,当然单参数也可以封 装成map,实际上如果你在传入参数的时候,在MyBatis里面也是会把它封装成一个Map 的, map的key就是参数名。在使用foreach的时候最关键的也是最容易出错的就是collection属性,该属性是必须指定的,但是 在不同情况下,该属性的值是不一样的,的查询关联B对象的sql,把B查询上来,然后调用a.setB(b),于是a的对象b属性就有值了,接着完。一对一,collection指的就是一对多查询。
2023-03-01 16:27:19
1866
2
原创 手把手教你如何对接支付宝支付接口(奶爸级别)
第一步:准备支付宝相关的参数,如appId、公私钥第二步:写代码,搞起1.你需要登录支付宝https://open.alipay.com/platform/developerIndex.htm。2.点击控制台—>研发服务3.到这个地址上生成一对公私钥:https://miniu.alipay.com/keytool/create4.私钥保存下来,是要放在项目配置里面的,公钥是下面的步骤要用到的。5.复制上面的公钥,放到这个输入框里面6.保存设置后,打开就可以看到这样的窗口,下面的【敲黑板了!!!
2022-12-20 09:22:40
5217
1
原创 超级详细的Oracle安装图文详解!手把手教会您从下载到安装!
弹出安装窗口,配置安全更新,如图所示,点“下一步”,提示未提供邮件地址,点“是”跳过。因为是学习环境,所以口令输入比较简单,会提示密码复杂度校验提醒,安装会有如下提示,点“是”跳过即可。弹框,可查看“口令管理”,建议点点看看就可以了,不必要纠结,点击口令管理下的“确定”。7、先决条件检查,物理环境检查无问题,进度条100%,安装自动跳转到下个安装界面。8、概要配置界面预览,如下图所示,点“完成”开始安装产品,等待,大概20分钟左右。6、典型安装配置,可按实际情况修改安装路径,输入管理口令后点“下一点”。
2022-11-22 14:37:42
4609
原创 《点燃我温暖你》中李峋的同款爱心代码
最近《点燃我温暖你》中李峋的爱心代码超级火,看着特别心动,这不,光棍节快到了,给兄弟们教学一波爱心代码,赶在双十一前表白,让这个双十一不在是孤单一个人!
2022-11-09 11:05:52
33797
4
原创 shiro从1.6.0升级到1.7.1版本,请求路径中带有中文接口报400
5、然后查看git提交记录,发现该接口并未进行改动,但是有shiro和dubbo的升级,先将shiro的版本恢复,接口就正常,因此确定是shiro升级导致的该问题。4、入参加上该字段接口异常,将该字段的入参值换成空、数字、英文访问接口正常,最后在换成中文(因为第一次请求的时候就是中文),接口就报400。1、访问某个接口的时候,返回状态码400,invaild request;1、接口之前一直都是正常的,查看git提交记录,该接口并未做任何改动;2、拿本次请求参数和之前请求参数做对比,发现多了个入参字段;
2022-11-04 17:06:56
815
原创 Spring整合RabbitMQ
基本消息队列的消息发送流程:建立connection创建channel利用channel声明队列利用channel向队列发送消息基本消息队列的消息接收流程:建立connection创建channel利用channel声明队列定义consumer的消费行为handleDelivery()利用channel将消费者与队列绑定多个消费者绑定到一个队列,同一条消息只会被一个消费者处理通过设置prefetch来控制消费者预取的消息数量交换机的作用是什么?接收publisher发送的消息。
2022-10-24 09:21:46
1233
1
原创 Mybatis-Plus-【通俗易懂全讲解】
MyBatisPlus环境搭建的步骤?BaseMapper}通过入门案例制作,MyBatisPlus的优点有哪些?MyBatisPlus(简称MP)是基于MyBatis框架基础上开发的增强型工具,旨在简化开发、提高效率https//有什么简单的办法可以自动生成实体类的GET、SET方法?Lombok,一个Java类库,提供了一组注解,简化POJO实体类开发。
2022-10-21 14:39:47
761
原创 Servlet基本使用
Servlet是运行在Web服务器上的应用程序。Servlet本身是一个Java接口,它定义了浏览器访问服务器程序的规则,我们写服务器程序只需要按照需求复写Servlet方法即可。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tcQaGBPs-1666314700763)(assets/image-20201206204555727.png)]
2022-10-21 09:14:10
336
原创 HTTP协议
服务器给客户端响应数据时,会携带着告诉浏览器当前数据的一个状态码,通过状态码告诉客户端请求成功、请求失败、找不到资源、请求重定向等等。HTTP(全称Hyper Text Transfer Protocol) 超文本传输协议,定义了客户端和服务器端通信时,数据交互的格式。HTTP协议规定了客户端发给服务器的数据格式,包含4个部分,分别是【请求行】【请求头】【请求空行】【请求体】HTTP协议规定服务器发给客户端的数据格式,包含4个部分,分别是【响应行】【响应头】【空行】【响应体】
2022-10-21 09:08:24
111
原创 Tomcat安装与配置
简单理解 Tomcat是一个web服务器软件,在你的电脑上安装Tomcat服务器软件,你的电脑就可以作为一个服务器被其他客户机访问。我们开发的应用程序,需要发布到Web容器中。如果拒绝访问,可能是Linux防火墙的问题,关闭防火墙再试一下。下载地址 http://tomcat.apache.org/下图是Tomcat和JDK版本的对应关系。
2022-10-20 16:33:48
169
原创 SpringCloud入门教程(全集)
单体架构:简单方便,高度耦合,扩展性差,适合小型项目。例如:学生管理系统分布式架构:松耦合,扩展性好,但架构复杂,难度大。适合大型互联网项目,例如:京东、淘宝微服务:一种良好的分布式架构方案①优点:拆分粒度更小、服务更独立、耦合度更低②缺点:架构非常复杂,运维、监控、部署难度提高SpringCloud是微服务架构的一站式解决方案,集成了各种优秀微服务功能组件SpringCloudRibbon的底层采用了一个拦截器,拦截了RestTemplate发出的请求,对地址做了修改。
2022-10-19 10:18:16
6377
1
原创 MySQL主从复制和Nginx高级
1). 存在的问题在前面基础功能实现的过程中,我们后台管理系统及移动端的用户,在进行数据访问时,都是直接操作数据库MySQL的。结构如下图:而在当前,MySQL服务器只有一台,那么就可能会存在如下问题:1). 读和写所有压力都由一台数据库承担,压力大2). 数据库服务器磁盘损坏则数据丢失,单点故障2). 解决方案为了解决上述提到的两个问题,我们可以准备两台MySQL,一台主(Master)服务器,一台从(Slave)服务器,主库的数据变更,需要同步到从库中(主从复制)。
2022-10-18 10:10:02
311
原创 Linux基本命令
基本命令uname -m 显示机器的处理器架构uname -r 显示正在使用的内核版本dmidecode -q 显示硬件系统部件(SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性hdparm -tT /dev/sda 在磁盘上执行测试性读取操作系统信息arch 显示机器的处理器架构uname -m 显示机器的处理器架构uname -r 显示正在使用的内核版本dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)
2022-10-15 10:01:10
155
原创 百度AI-语音识别&图片搜索(Java)
5)点击实名认证按钮进入实名认证页面(因我的账号已经进行过初级实名认证,实名认证内容大家按照提示进行即可)1)在语音识别创建的speech_imageseach直接开发即可,它们所需环境都是一致的。4)进行实名认证(因百度AI有些功能需要用户实名认证才可使用,所以在这提前进行实名认证)免费次数需要我们手动领取才可以,下面我们使用语音合成来合成语音文件完成语音识别测试。4)下载官网提供测试音频文件(也可以使用语音合成,自己使用。2)根据API提示,导入百度AI所需依赖包(首先,选择要导入的图库,点击。
2022-10-14 13:35:52
2514
原创 阿里云实现发送短信(Java实例教程)
短信发送是电信运营商提供的服务,需要访问对应的接口,不同运营商提供的接口地址肯定不一样,如果直接访问这些接口就需要判断收信息的手机号属于哪个运营商,关键在于这些接口不对个人开放,还要考虑调用短信服务的费用问题。因此目前调用短信业务都是使用第三方企业的短信服务,他们与运营商合作,封装了短信接口,调用方法,而且费用相对便宜。第一步:参考API,在【API接口】中已经给出了Java代码怎么调用该服务的接口。第三方的短信服务有很多,其中阿里云也提供了短信服务。第二步:选择购买的短信服务。
2022-10-13 10:03:11
8000
2
原创 Linux安装禅道最新版
禅道官网:https://www.zentao.net。提示:如果初入公司不会使用的话可以查看使用手册进行学习。查看自己的服务器CentOS版本进行下载对应的安装包。进入以后会提示修改密码,个人根据自己的情况修改。禅道默认账号:admin 密码:123456。显示sceess证明禅道已经启动成功!
2022-10-12 14:08:29
418
原创 Java10种排序算法
桶排序可以看成是计数排序的升级版,它将要排的数据分到多个有序的桶里,每个桶里的数据再单独排序,再把每个桶的数据依次取出,即可完成排序。我们假设有一个待排序数组[53,3,542,748,14,214],那么如何使用基数排序对其进行排序呢?第一轮,以元素的个位数进行区分:[542,53,3,14,214,748]第二轮,以元素的十位数进行区分:[3,14,214,542,748,53]第三轮,以元素的百位数进行区分:[3,14,53,214,542,748]找出待排序的数组array中最大的元素max。
2022-10-11 11:01:59
271
kafka_2.12-2.2.1.zip
2022-10-10
nacos-server-2.0.3部署以及教程
2022-10-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人