
Java后端
Java后端
weiambt
研究生在读,专注于算法、后端、大模型、AI等领域,擅长Java,Python,Golang。记录学习历程,分享学习心得,欢迎大家交流讨论。
展开
-
什么是分库分表?用Java手写一个分库分表组件
在分库分表的场景中,数据会根据一定的策略(如业务逻辑、哈希算法等)被分散到不同的数据库或表中,以提高系统的并发处理能力和扩展性。如图把users表拆分成users1表和users2表,以userId拆分,进行取模,偶数放到users1表,奇数放到users2表。如图,按会员库拆分,拆分成会员1库,会员2库,以userId拆分,userId尾号0-5为1库。6-9为2库,还有其他方式,进行取模,偶数放到1库,奇数放到2库。根据业务拆分,如图,电商系统,拆分成订单库,会员库,商品库。(1) 数据库垂直拆分。原创 2024-03-15 16:33:44 · 1386 阅读 · 0 评论 -
Netconf testtool报错NoSuchProviderException: JCE cannot authenticate the provider BC
最近在使用Netconf协议自带的测试工具testtool的时候,参照这个文档https://github.com/opendaylight/netconf/blob/master/docs/testtool.rst,去执行时,刚上来就遇到了一个很棘手的问题。控制台输出:NoSuchProviderException: JCE cannot authenticate the provider BC。先部署testtool,然后ssh连接到默认的设备上,发现连不上去。原创 2023-12-14 16:57:31 · 333 阅读 · 0 评论 -
【SpringBoot报错】MissingServletRequestPartException: Required request part ‘file‘ is not present...
MissingServletRequestPartException: Required request part ‘file‘ is not present大概意思是:请求参数'file'接收不到数据原因就是前端的属性名与Controller的方法参数名不一样导致的解决方案:将Controller的方法参数名加上注解@RequestParam("前端属性名")...原创 2022-03-16 17:17:00 · 587 阅读 · 0 评论 -
解决:TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found 3...
解决:TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found 3返回结果过多,发现是sql中的多表查询时表没有连接造成了查询了无效的数据...原创 2022-04-10 18:01:00 · 126 阅读 · 0 评论 -
springBoot 启动 If you want an embedded database (H2, HSQL or Derby), please put it on the classpath....
原文链接:https://blog.youkuaiyun.com/lizhe0327/article/details/104934522原创 2022-02-25 21:09:00 · 54 阅读 · 0 评论 -
【异常处理】mybatis报错:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)...
发现问题org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) top.ambtwill.dao.DepartmentMapper.selectmapper文件报错原因检查有没有将mapper文件绑定到容器中,发现原来之前只绑定一个mapper,现在换成通配符*,如下图...原创 2022-02-22 14:48:00 · 51 阅读 · 0 评论 -
狂神官方笔记
狂神官方笔记 SSM框架是大家最低工作要求了吧,至少要熟练掌握完毕,才能在工作项目中好好的使用,学完SSM,SpringBoot也是必不可少的,那小狂神今天就把前面更新的给大家按照顺序罗列下,汇总:【MyBatis】 狂神说MyBatis01:第一个程序 狂神说MyBatis02:CRUD操作及配置解析 狂神说MyBatis03:ResultMap及分页 狂神说MyBatis0...原创 2022-02-08 11:46:00 · 62 阅读 · 0 评论 -
PC无法连接到服务器的Mysql,java.sql.SQLException: null, message from server: “Host ‘XXX‘ is not allowed to con...
java.sql.SQLException: null, message from server: “Host ‘XXX‘ is not allowed to connect异常https://blog.youkuaiyun.com/weixin_37641163/article/details/109051541原创 2022-03-26 12:02:00 · 87 阅读 · 0 评论 -
【异常处理】BadSqlGrammarException低级SQL语法异常
报错org.springframework.jdbc.BadSqlGrammarException: ### Error querying database. Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to ...原创 2022-03-17 16:20:00 · 290 阅读 · 0 评论 -
【异常处理】Mybatis报错 source is null for getProperty(null, "length")
发现问题<select id="listArticle" resultType="top.ambtwill.blog.dao.pojo.Article"> select * from ms_article <where> 1=1 <if test="ca...原创 2022-03-17 16:36:00 · 268 阅读 · 0 评论 -
【异常处理】使用雪花算法的id出现的精度问题
雪花算法产生的id传到前端出现了精度的问题现象表的ID主键使用Mybatis plus默认 的雪花算法来生成。数据库id是bigint类型,后端用Long后端的id是---> 1297873308628300000传到前端后---> 1297873308628307970解决方案1:直接用注解最快。/** * 防止精度丢失 */ @JsonSe...原创 2022-03-14 12:38:00 · 52 阅读 · 0 评论 -
springboot中整合elasticsearch(基于springboot2.5.0,es版本7.6.1)
只引入spring-boot-starter-data-elasticsearch并指定版本idea下载不成功,找不到指定的版本。再在properties中配置elasticsearch版本。解决方法:引入下面的两个包。原创 2023-06-20 00:18:34 · 617 阅读 · 0 评论 -
【跨域异常】get请求能访问,但是post请求报403跨域异常
前端vue项目调用后端SpringBoot接口,后端配置了跨域访问,但是出现了get请求能正常访问,但是post请求报403异常的情况。具体原因:Springboot的版本问题。原创 2023-01-01 23:19:57 · 8944 阅读 · 2 评论 -
SpringBoot项目无法跳转到视图报错:TemplateInputException: Error resolving template “xxx/xxx“, template might not
其他一切配置都正常的情况下在pom.xml中加入如下语句。原创 2022-12-23 21:32:43 · 321 阅读 · 0 评论 -
swagger的@ApiModel无效
今天在写swagger的注释的时候,发现我写的实体类,有一些类,在swagger-ui.html中的Models里面。于是查阅资料才发现,如果在Controller中没有调用这个实体,即使是加上了@ApiModel注解,也无法在接口文档上看到。为了能够看到所有的实体,于是专门写了一个TestController用来调用这些实体,使得这些实体能够在接口文档中显示。...原创 2022-08-08 13:27:42 · 2100 阅读 · 1 评论 -
登录拦截器从session中获取信息失败(session失效问题)
登录拦截器从session中获取信息失败(session失效问题)原创 2022-08-04 13:40:37 · 4302 阅读 · 0 评论 -
数据库插入数据时,自增主键过大问题
如果要清除已经存在的数据的表,一般有两种操作方法,清空表和截断表,清空表只是清空表中的逻辑数据,但是主键值、索引等物理数据不被清除,还是原来的值。但是id值还是在很大的数上自增,然后把数据库中的所有记录删除了,再重新创建了一个id=1的记录,然后再添加记录,自动生成的id依然是很大的数,还是无法摆脱大数的困扰。使用mysql数据库时,很多时候,设计的数据库主键都是自增的,一般不需要我们传入主键的值,这样开发起来比较方便,在建表时,加上auto_increment即可。......原创 2022-07-25 17:11:12 · 3054 阅读 · 0 评论 -
【docker安装异常】XXXX is not in the sudoers file. This incident will be reported
通过上述命令在Ubunto中安装Docker,这种情况是因为安装docker需要root权限,我这里是使用的一个用户(user=acs_5967)登录的,所以无法下载。使用root用户登录然后下载docker。或者使用root给该用户分配权限。安装docker报错。...原创 2022-07-16 15:40:34 · 817 阅读 · 0 评论 -
Java串口通信
串口,指的是串行通信接口(com),区别于并行通信,一次性可传输8位数据,不会发生数据位序混乱,但是比并行通信传输时间长得多,可以双向通信,主要用于设备与设备之间的通信,常用的主要有两类1.RS232(一对一数据传输,适合本地设备之间的通信)2.RS485(一对多数据传输,适合远程设备之间的通信)Serial Port:串行接口,也称串口。串口是电脑的接口之一,连接某些设备用的,如果你不需要仔细了解它的话,把它当成跟USB类似的接口就可以了串口是计算机上一种非常通用的设备通信协议。大多数计算机(不包括笔原创 2022-07-13 17:29:47 · 5077 阅读 · 0 评论 -
Java输出流
java将内容输出到文件,有六种方法。字符流FileWriterBufferedWriter缓冲流,基于FileWriterPrintWriter打印流,基于FileWriter字节流FileOutputStreamBufferedOutputStream缓冲流,基于FileOutputStreamFilesFiles 类是 JDK 7 添加的新的操作文件的类,它提供了提供了大量处理文件的方法,例如文件复制、读取、写入,获取文件属性、快捷遍历文件目录等,这些方法极大的方便了文件的操作如果写入的内容是字符串的原创 2022-07-12 17:52:57 · 3848 阅读 · 0 评论 -
定时任务管理框架Quartz
w3c文档(全)https://www.w3cschool.cn/quartz_doc/quartz_doc-2put2clm.html工具类参考https://blog.youkuaiyun.com/xlxxcc/article/details/52115995传参参考https://blog.youkuaiyun.com/m0_45406092/article/details/108379315Quartz API的关键接口是:Quartz 提供的“builder”类,可以认为是一种领域特定语言(DSL,Domain Spec原创 2022-07-12 17:37:18 · 569 阅读 · 0 评论 -
SpringBoot中的定时任务@Scheduled
方法上加上注解@Scheduled类上加上注解:@EnableScheduling注入到容器中:@Service或者@Configuration固定延迟(ms)初始延迟,单独使用会报错,要配合上fixedDelay自定义表达式从左到右(用空格隔开):格式: 例子:fixedRate(不建议)从上一次开始执行的时间点,开始计算间隔总结定时任务挺常用的,cron更多是用来定时执行,如果是相隔一定的时间间隔执行,那么对于每个位置的值有约束(比如每n秒执行,要使用cron来实现,必须n是原创 2022-07-12 16:12:27 · 3010 阅读 · 0 评论 -
Async异步任务
异步任务就是采用异步的方式执行,使用另一个线程执行开启的任务,从而不会影响到主线程的执行。首先看这个例子项目启动后访问这个接口,就会有如下加载页面,左边的动画会转3s,最后返回一个ok。对于特定的业务需求,可以直接立刻返回ok,后台再去执行,比如说发邮件就是这样的逻辑。下面看看怎么使用吧。异步任务在SpringBoot中使用很简单,使用@Async注解标记在方法上就可以了,然后再外边加上@EnableAsync就完成了运行结果:当使用这种方式时,点击发送请求,不会再转圈了,会立刻得到Ok的结原创 2022-07-06 14:56:24 · 271 阅读 · 0 评论 -
【Spring】ApplicationContextAware接口的理解
在SpringBoot中,因为没有了ioc配置文件,全都成自动化的了,我们无法通过上述方式拿到ApplicationContext对象,但有时候遇到的需求是必须要通过Spring容器才能实现的,例如动态获取三方渠道的代理类,所以,简单地说,ApplicationContextAware接口是用来获取框架自动初始化的ioc容器对象的。注解方式当下用的比较多,所以我就不提xml方式的了,写个类实现ApplicationContextAware接口,实现方法,再提供几个ioc容器常用方法,将这个类当工具类用。新建原创 2022-07-04 15:10:35 · 976 阅读 · 0 评论 -
解决使用Quartz执行的任务对象(job)中无法注入bean的问题
springBoot整合Quartz后,job中注入的业务service,使用@Autowired获取的对象为null原创 2022-06-30 13:10:58 · 3123 阅读 · 0 评论 -
【异常处理】SpringMVC无法跳转视图问题
浏览器发送请求给控制器,但是结果是404报错,又试了一下返回json字符串,json可以获取到,所以应该springmvc出了问题。查看controller,发现无法加载视图原创 2024-03-13 18:42:59 · 512 阅读 · 0 评论 -
阿里云服务器部署JavaWeb项目
一、购买阿里云服务器阿里云官网:https://www.aliyun.com/?utm_content=se_1007692031二、准备工作下载远程控制工具xshell及文件传输工具xftpXshell官网下载地址https://www.netsarang.com/zh/all-downloads/Xftp官网下载地址:https://www.netsarang.com/zh/xftp/下载jdk与tomcat的linux版本安装包链接:https://pan.baidu.com/s原创 2020-12-21 21:00:58 · 1108 阅读 · 0 评论 -
【JavaWeb】EL&JSTL学习笔记(黑马)
今日内容1. JSP: 1. 指令 2. 注释 3. 内置对象2. MVC开发模式3. EL表达式4. JSTL标签5. 三层架构JSP:1. 指令 * 作用:用于配置JSP页面,导入资源文件 * 格式: <%@ 指令名称 属性名1=属性值1 属性名2=属性值2 ... %> * 分类: 1. page : 配置JSP页面的 * contentType:等同于response.setContentType() 1. 设置响应体的mime类型以及原创 2020-08-08 17:41:20 · 214 阅读 · 0 评论 -
【JavaWeb】Cookie&Session学习笔记(黑马)
今日内容1. 会话技术 1. Cookie 2. Session2. JSP:入门学习会话技术1. 会话:一次会话中包含多次请求和响应。 * 一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止2. 功能:在一次会话的范围内的多次请求间,共享数据3. 方式: 1. 客户端会话技术:Cookie 2. 服务器端会话技术:SessionCookie:1. 概念:客户端会话技术,将数据保存到客户端2. 快速入门: * 使用步骤: 1. 创建Cookie对原创 2020-08-02 18:57:22 · 354 阅读 · 0 评论 -
【JavaWeb】Tomcat&Servlet学习笔记(黑马)
今日内容1. web相关概念回顾2. web服务器软件:Tomcat3. Servlet入门学习web相关概念回顾1. 软件架构 1. C/S:客户端/服务器端 2. B/S:浏览器/服务器端2. 资源分类 1. 静态资源:所有用户访问后,得到的结果都是一样的,称为静态资源.静态资源可以直接被浏览器解析 * 如: html,css,JavaScript 2. 动态资源:每个用户访问相同资源后,得到的结果可能不一样。称为动态资源。动态资源被访问后,需要先转换为静态资源,在返回给浏览原创 2020-08-02 18:38:26 · 549 阅读 · 1 评论 -
【JavaWeb】Response学习笔记(黑马)
今日内容1. HTTP协议:响应消息2. Response对象3. ServletContext对象HTTP协议:1. 请求消息:客户端发送给服务器端的数据 * 数据格式: 1. 请求行 2. 请求头 3. 请求空行 4. 请求体2. 响应消息:服务器端发送给客户端的数据 * 数据格式: 1. 响应行 1. 组成:协议/版本 响应状态码 状态码描述 2. 响应状态码:服务器告诉客户端浏览器本次请求和响应的一个状态。 1. 状态码都是3位数字原创 2020-08-02 18:34:26 · 210 阅读 · 0 评论 -
MySQL数据库笔记——约束、多表、范式、事务
数据库的基本概念1. 数据库的英文单词: DataBase 简称 : DB2. 什么数据库? * 用于存储和管理数据的仓库。3. 数据库的特点: 1. 持久化存储数据的。其实数据库就是一个文件系统 2. 方便存储和管理数据 3. 使用了统一的方式操作数据库 -- SQLMySQL数据库软件1. 安装2. 卸载 1. 去mysql的安装目录找到my.ini文件 * 复制 datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/"原创 2020-07-19 16:40:38 · 210 阅读 · 0 评论 -
MySQL数据库笔记——SQL语句
SQL1.什么是SQL? Structured Query Language:结构化查询语言 其实就是定义了操作所有关系型数据库的规则。每一种数据库操作的方式存在不一样的地方,称为“方言”。 2.SQL通用语法 1. SQL 语句可以单行或多行书写,以分号结尾。 2. 可使用空格和缩进来增强语句的可读性。 3. MySQL 数据库的 SQL 语句不区分大小写,关键字建议使用大写。 4. 3 种注释 * 单行注释: -- 注释内容 或 # 注释内容(mysql 特有) * 多行注释原创 2020-07-17 16:44:09 · 237 阅读 · 0 评论 -
【JavaWeb】用户登录案例
需求分析:编写login.html登录页面 (包含username & password 两个输入框 )使用Druid数据库连接池技术,操作mysql,day14数据库中user表使用JdbcTemplate技术封装JDBC登录成功跳转到SuccessServlet展示:登录成功!用户名,欢迎您登录失败跳转到FailServlet展示:登录失败,用户名或密码错误开发步骤:...原创 2020-03-29 20:03:55 · 1808 阅读 · 0 评论 -
【JavaWeb】Servlet&HTTP&Request学习笔记(黑马)
今日内容:1. Servlet2. HTTP协议3. RequestServlet:1. 概念2. 步骤3. 执行原理4. 生命周期5. Servlet3.0 注解配置6. Servlet的体系结构 Servlet -- 接口 | GenericServlet -- 抽象类 | HttpServlet -- 抽象类 * GenericServlet:将S...原创 2020-03-26 15:31:53 · 557 阅读 · 0 评论 -
【JavaWeb】JDBC数据库连接池&JDBCTemplate学习笔记(黑马)
以下内容是黑马的JavaWeb课程中JDBC数据库连接池和JDBCTemplate的学习笔记,视频资源:[https://www.bilibili.com/video/av63673244?p=19]今日内容1. 数据库连接池2. Spring JDBC : JDBC Template数据库连接池 1. 概念:其实就是一个容器(集合),存放数据库连接的容器。 当系统初始化好后...原创 2020-03-22 19:57:15 · 451 阅读 · 0 评论 -
【JavaWeb】JDBC学习笔记(黑马)
以下内容是黑马的JavaWeb课程中JDBC的学习笔记,视频资源:https://www.bilibili.com/video/av63673244?p=1今日内容 1. JDBC基本概念 2. 快速入门 3. 对JDBC中各个接口和类详解JDBC: 1. 概念:Java DataBase Connectivity Java 数据库连接, Java语言操作数据库 * JDBC本...原创 2020-03-22 19:25:40 · 915 阅读 · 3 评论