- 博客(183)
- 收藏
- 关注
原创 如何获取数据库指定表的列信息?——`ResultSet getColumns` 方法详解
对象,代表符合查询条件的列信息。每一行代表表中的一列,包含列的各种元数据属性。是一个非常有用的工具,特别适合在动态生成 SQL 或处理数据库元数据时使用。参数,可以精确查询数据库中表的列信息,为程序提供丰富的数据库元数据支持。接口提供的一个方法,用于检索数据库表的列(字段)信息。对于 MySQL,可以将数据库名作为。参数传入,这样就不会返回其他数据库中的表的字段信息。对象,该对象包含与指定表中每一列相关的元数据信息。参数,可以指定特定列名。下面是一个简单的使用示例,通过。
2024-10-11 09:32:34 899
原创 解决 MySQL 连接数过多导致的 SQLNonTransientConnectionException 问题
在开发过程中,特别是高并发应用程序中,常会遇到数据库连接数超限的问题。这种情况通常会导致应用程序抛出类似于的异常。本文将深入分析该问题的原因,并提供有效的解决方案,帮助开发者避免或解决连接数过多问题。
2024-10-10 10:00:20 1456 1
原创 Git 分支提交同步到主干的详细教程——(包含命令行和idea操作两种方式)
1. 提交分支上的代码 git add . git commit -m "你的提交信息" # 2. 切换到主干分支 git checkout main # 或 master # 3. 拉取主干最新代码 git pull origin main # 4. 合并分支到主干 git merge your-branch-name # 或者 git rebase your-branch-name # 5. 推送到远程主干 git push origin mainCommit。切换分支:选择main或。
2024-10-07 16:23:00 1346
原创 Java基础——`UUID.randomUUID()` 方法详细介绍
是 Java 中用于生成随机 UUID(Universally Unique Identifier,通用唯一标识符)的方法。UUID 是一种 128 位的标识符,广泛应用于确保分布式系统中的对象唯一性。UUID 是标准化的,可以用作数据库中的主键、事务 ID、请求跟踪等需要唯一标识符的场景。使用的是基于随机数生成的UUID 版本 4,它通过伪随机数生成 122 位的随机位,以保证其全球唯一性。是 Java 中常用的生成唯一标识符的方法,生成基于随机数的 UUID 版本 4。
2024-10-07 10:09:42 1330
原创 动态数据源多种实现方式及对比详细介绍
动态数据源是现代企业级应用中常见的需求,尤其是在多数据源管理读写分离多租户系统分库分表等场景中,动态切换不同的数据源可以提升系统的灵活性和性能。本文将详细介绍几种常见的动态数据源实现方式,包括其应用场景、实现步骤、优缺点对比。动态数据源技术为企业级应用提供了灵活的数据库管理能力。不同的实现方式各有优劣,开发者需要根据项目规模、业务需求和性能要求进行选择。小型项目:可以选择基于或 Spring AOP 的实现,简单易用,能够快速满足动态切换需求。需要事务管理:对于涉及多数据源事务管理的项目,基于。
2024-09-21 17:58:25 933
原创 Spring Boot 动态数据源的配置和使用——附实例教程
含义@Target: 指定该注解可以用在方法和类上。@Retention: 指定注解的生命周期是运行时,允许反射获取注解信息。: 使注解成为文档的一部分。: 自定义注解,用来标识在哪些地方需要切换数据源。此注解可以用来标记方法或类,指定该方法或类使用哪个数据源。整个流程使用了 Spring Boot 提供的机制,通过动态切换不同的数据源,支持在运行时决定应用程序使用的数据库。每个步骤紧密配合,确保在应用运行时根据不同的业务需求选择合适的数据源。通过。
2024-09-21 16:09:58 1212
原创 @Transactional 注解详细介绍——附案例
注解应用于某个方法时,该方法中的所有数据库操作(增、删、改等)会被绑定到一个事务中,保证这些操作在一个整体的事务上下文中执行。保证下单时的扣减库存、扣减账户余额、保存订单三个操作要么一起成功,要么一起回滚,避免出现下单成功但扣减库存或扣钱失败的问题。事务的隔离级别决定了一个事务在修改数据的同时,其他事务对该数据的可见性。Spring 的事务管理基于 AOP(面向切面编程),即通过在方法执行前后控制事务的开启、提交和回滚。可以控制并发事务的行为,防止数据更新时产生冲突或数据丢失,避免脏读、不可重复读等问题。
2024-09-14 14:26:13 1560
原创 项目中建立表相关的数据字典需要包含哪些信息?——数据字典设计
创建一个表信息相关的数据字典是管理和维护数据库结构的重要步骤。一个完善的数据字典可以帮助你清晰地了解系统中的所有表及其详细信息。希望对你有所帮助,若有问题欢迎指正~😊。
2024-09-14 10:26:10 449
原创 Spring Boot 项目的 pom.xml 中,groupId、artifactId 等信息要如何定义?——定义规则及案例
特性快照版本(SNAPSHOT)最终发布版本(Release)稳定性不稳定、开发中稳定、准备用于生产命名格式1.0.0发布频率可频繁发布,覆盖旧版本每次发布生成一个新的版本使用场景用于开发和测试阶段用于生产和发布。
2024-09-14 09:21:25 1558
原创 Maven 的多种打jar包方式详细介绍、区别及使用教程——附使用命令
标准 JAR: 适合在依赖项已经被管理的环境中使用,需要手动指定类路径。可执行 JAR: 简化运行过程,但不包含所有依赖项,适合分发给用户。Uber JAR: 包含所有依赖项,便于在无外部依赖的环境中运行,但文件较大。: 包含所有依赖和 Spring Boot 特性,适合 Spring Boot 项目,简化了运行和部署。根据项目需求和目标环境选择合适的打包方式,可以提高开发效率和部署灵活性。希望对你有所帮助,若有问题欢迎指正~😊。
2024-09-12 17:59:42 1185
原创 maven打包后的jar包内容都有什么?——详细说明
META-INF 文件夹:存放 JAR 包元数据(如编译后的类文件:项目的.class文件,按包名划分。资源文件:项目中目录下的文件。第三方依赖(可选):如果使用了shade或,第三方依赖会打包进 JAR。希望对你有所帮助,若有问题欢迎指正~😊。
2024-09-12 16:50:10 676
原创 将jar包作为lib导入和maven依赖导入有什么区别?
特性手动将 JAR 包作为 lib 导入通过 Maven 依赖导入依赖管理手动维护,容易出错,依赖冲突难解决自动化管理,依赖冲突和版本管理容易依赖传递性无法自动处理传递依赖自动处理传递依赖,减少手动管理版本管理无法管理版本,只能手动替换版本控制灵活,支持快速升级或降级依赖版本网络依赖无需网络,可直接使用本地 JAR需要网络连接来下载依赖(首次构建或更新时)中央仓库支持无法直接使用中央仓库可以访问 Maven 中央仓库和其他远程仓库配置复杂度配置简单,适合小型项目需要配置pom.xml。
2024-09-12 15:38:29 749
原创 com.microsoft.sqlserver:sqljdbc4:jar:4.0 was not found产生原因及解决步骤
确认pom.xml中的依赖配置是否正确。添加 Microsoft Maven 仓库到pom.xml中。强制更新依赖并清理本地缓存。如有需要,手动下载并安装。根据网络环境,调整以强制更新依赖。希望对你有所帮助,若有问题欢迎指正~😊。
2024-09-12 11:26:34 1533
原创 springboot项目中 前端浏览器访问时遇到跨域请求问题CORS怎么解决?has been blocked by CORS policy
你也可以定义一个自定义的 CORS 过滤器来处理跨域请求。
2024-09-11 14:39:34 741
原创 打包好的jar包,如何部署在服务器?——详细教程
在服务器上安装 JDK。将 JAR 包上传到服务器。使用java -jar或者通过systemd启动服务。配置防火墙开放端口。(可选)使用 Nginx 配置反向代理。设置服务开机自动启动。这样就可以在服务器上成功部署并提供对外服务。
2024-09-11 13:40:19 2750
原创 IBM AS/400 数据库介绍、使用及优缺点——详细说明
IBM AS/400(现称 IBM i)结合了强大的 DB2 for i 数据库系统,为企业提供高集成度、高可靠性和全面的安全性。其内置数据库与操作系统紧密集成,简化管理,支持多种编程语言。优点包括高稳定性和易于管理,但也面临较高的成本、市场份额较小和迁移挑战。相比其他数据库系统,AS/400 在性能和安全性方面表现突出,但可能需要额外的学习和培训。
2024-09-10 16:50:32 1266
原创 在 Spring Boot 项目中连接 IBM AS/400 数据库——详细案例教程
在 Spring Boot 项目中,通过添加 `jt400` 依赖可以连接 IBM AS/400 数据库。在 `application.properties` 或 `application.yml` 中配置数据库地址、用户名和密码。使用 `JdbcTemplate` 处理数据库操作,并创建 REST API 来验证连接是否成功,确保从 AS/400 检索数据。
2024-09-10 10:51:00 1392
原创 HTTP 请求方式`application/x-www-form-urlencoded` 与 `application/json` 怎么用?有什么区别?
如果你的应用场景是简单表单提交,数据传输量较小且结构简单(如登录、注册),使用是更好的选择。它快速、兼容性好、开销小。如果你开发的是前后端分离的现代 Web 应用,或者需要传递复杂数据结构(如对象、数组、嵌套数据),那么选择是更为合适的方式。它可以轻松处理复杂数据,并且是 RESTful API 的标准格式,便于后续扩展和维护。不同的项目需求决定了选择哪种数据传输方式。对于简单的传统表单,足以应付。而对于复杂的交互式应用和 API,则提供了更强的表达能力。
2024-09-09 18:47:40 2244
原创 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)排查步骤及解决方法
启动项目后,检查日志输出以确保 MyBatis-Plus 配置正确,XML 文件和 Mapper 接口都被正确加载。日志中通常会有关于 MyBatis 配置和 SQL 语句加载的提示信息。由于 MyBatis 没有找到 Mapper XML 文件中的 SQL 语句或 Mapper 方法未正确绑定。完成以上步骤后,再次运行项目,确认错误是否解决。如果问题仍然存在,请检查项目结构和配置是否与实际情况一致。下,则需要调整路径配置,但通常建议将 XML 文件放在。文件放置在正确的位置。目录下的一个子目录,如。
2024-09-09 14:46:02 665
原创 @RunWith(SpringRunner.class)功能及用法
加载 Spring 上下文是 Spring Test 框架提供的一个运行器,它会在测试开始之前加载 Spring 应用上下文。这允许测试类中的测试方法能够访问 Spring 管理的 Bean 和其他 Spring 组件。自动注入 Spring Bean使用@Autowired注解,你可以在测试中自动注入 Spring 管理的 Bean。这使得测试能够直接使用应用程序中的真实 Bean,而不需要手动创建或模拟它们。支持 Spring 测试功能支持 Spring 提供的各种测试功能,如事务管理。你可以使用。
2024-09-09 14:08:44 1082
原创 Java项目中,配置打印 JDBC 日志的几种方法
在 IDEA 项目中,如果你想打印 JDBC 日志,可以通过配置日志框架(如 Logback 或 Log4j)来实现。Spring Boot 使用的默认日志框架是 Logback,你可以通过在文件中配置日志级别来打印 JDBC 日志。
2024-09-07 20:23:11 637
原创 【SqlServer】SQL Server Management Studio (SSMS) 下载、安装、配置使用及卸载——保姆级教程
通过以上教程,你可以完成 SQL Server Management Studio (SSMS) 的下载、安装、数据库连接及卸载操作。希望对你有所帮助,若有问题欢迎指正~😊。
2024-09-06 16:33:30 4265
原创 微服务架构设计模式简要介绍
微服务架构的设计模式为构建灵活、可扩展、可靠的分布式系统提供了强有力的工具。不同的设计模式解决了微服务在服务发现、故障处理、数据一致性等方面的挑战。在实际开发中,可以根据具体的业务需求选择适合的设计模式,以确保系统的稳定性和可维护性。仅为个人知识分享及开发中遇到的问题总结,希望对你有所帮助,若有问题欢迎指正~😊。
2024-09-05 17:42:53 1123
原创 将本地的 IntelliJ IDEA 项目导入到 GitLab 上——超详细图文教程
通过以上步骤,你成功地将本地的 IntelliJ IDEA 项目导入到 GitLab,并完成了基本的 Git 设置和推送。如果你在使用过程中遇到任何问题,比如权限不足或认证错误,确保你有正确的 API 访问令牌和 SSH/HTTPS 配置。
2024-09-05 13:37:16 2468
原创 HTTP 状态码全攻略:快速搞懂服务器的“暗号”
HTTP 状态码其实就是服务器在跟你“聊天”。它们有的在告诉你“事情搞定了”,有的在提醒你“出问题了”,还有的在让你“稍等一下”。理解这些状态码,不仅能让你的开发工作更加顺畅,还能让你在排查问题时事半功倍。下次再遇到这些“暗号”,你就能快速读懂它们的意思啦!如果还有不清楚的,随时可以来讨论哦!附上HTTP 状态码汇总表仅为个人知识分享及开发中遇到的问题总结,希望对你有所帮助,若有问题欢迎指正~😊。
2024-09-03 16:59:30 1094
原创 API接口,`POST`、`PUT`、`GET` 和 `DELETE`有什么区别,怎么用?
GET方法用于从服务器获取数据。它是安全且幂等的,意味着对同一资源的多个请求不会对资源状态产生任何副作用。POST方法用于向服务器发送数据以创建新的资源。它不具备幂等性,即多次调用可能会产生不同的结果。PUT方法用于更新服务器上的资源。如果资源不存在,可以选择创建或不创建资源。通常用来替换目标资源的整个内容。DELETE方法用于删除服务器上的资源。它通常是幂等的,即多次调用不会产生额外影响。
2024-09-03 13:22:50 916
原创 Spring Security 过滤器 `OncePerRequestFilter` 和 `UsernamePasswordAuthenticationFilter`区别介绍
适合用于需要在每个请求中执行自定义逻辑的情况,比如令牌验证和请求修改。适用于表单登录认证,它自动处理用户名和密码的验证。根据你的具体需求来选择合适的过滤器,能让你的 Spring Boot 应用更加安全和高效。希望这个文档能帮助你更好地理解这两个过滤器,并在开发中做出明智的选择。如果还有其他问题,欢迎提问!
2024-09-02 14:18:03 971
原创 如何判断请求是否为跨域请求?——详细教程
判断请求是否为跨域请求,主要取决于浏览器的同源策略。同源策略定义了两个 URL 是否“同源”的标准,即它们的协议、主机和端口号必须完全相同。如果这些属性中的任何一个不同,那么请求就被认为是跨域请求。
2024-08-30 16:12:51 970
原创 Spring Boot 启动时循环依赖的详细排查和解决步骤
使用 IDE 工具:可以使用Spring工具窗口来查看 Bean 的依赖关系。Eclipse:可以使用插件来查看 Bean 依赖图。手动检查查看所有@Component@Service和注解的类,检查它们的依赖关系。分析和排查:查看日志、使用 IDE 工具、检查 Bean 定义和依赖注入方式。解决策略:使用@Lazy注解、改用 Setter 注入、重构 Bean 设计、在类中定义 Bean。通过这些步骤,你可以有效地解决 Spring Boot 应用中的循环依赖问题,确保应用能够顺利启动。
2024-08-30 14:41:08 1650 1
原创 Spring Security中的BCrpt介绍,及其与SHA-256的对比
是 Spring Security 提供的一种密码加密工具,它使用BCrypt算法对密码进行加密。BCrypt是一种基于 Blowfish 加密算法的密码哈希函数,设计用于防止通过彩虹表或暴力破解进行的攻击。
2024-08-30 13:08:38 979
原创 Spring security的SecurityConfig配置时 userDetailsService报错如何解决?
仅为个人知识分享及开发中遇到的问题总结,希望对你有所帮助,若有问题欢迎指正~😊。接口的类,而你可能传递的是。通过这些修改,你应该能够将。使用,并解决上述错误。
2024-08-30 11:19:14 1206
原创 Spring Security 有什么用?附使用教程
类在 Spring Boot 应用程序中是配置和管理安全性的核心部分。它定义了应用程序的安全策略,确保未认证的用户无法访问受保护的资源,同时允许你灵活地配置身份验证和授权的方式。配置一旦生效,它会在应用程序的生命周期中持续为请求提供安全保护。
2024-08-29 13:40:14 521
原创 HS256和SHA1的对比
由于SHA-256是一个更复杂的算法,并且HS256还涉及HMAC的计算,性能上比SHA-1稍慢。但在现代计算环境下,这种差异对大多数应用来说是微不足道的。HS256(HMAC-SHA256)和SHA-1是两种不同的哈希算法,主要用于数据完整性校验和加密。它们有不同的用途、特性、和安全性。: 比SHA-256计算更快,哈希值较短,使用的计算资源更少。然而,这种性能优势远远不能弥补其安全性的缺陷。
2024-08-29 08:36:14 815
原创 JWT令牌本身已包含签名,访问资源的时候为什么还需要签名认证?
JWT令牌是长期有效的(直到过期),在这段时间内,攻击者可能截获该令牌,并利用它重复发送请求(即重放攻击)。通过引入签名认证,特别是带有时间戳、随机数(nonce)等元素的签名,可以确保每个请求都是唯一的和即时生成的,从而防止重放攻击。通过要求每次请求都附带动态生成的签名,即使令牌被泄露,攻击者也无法发起有效请求,因为他们无法生成合法的签名。在系统设计中,虽然JWT令牌本身已经包含了签名,用于验证令牌的真实性和数据的完整性,但在某些场景下,仍然需要在访问资源时引入额外的签名认证机制。
2024-08-28 20:14:15 246
原创 结合令牌(JWT)和签名认证的系统登录及页面访问的详细实现原理和流程
签名认证是在访问页面资源时,基于用户请求和某些关键数据(如用户ID、时间戳等)生成的签名,用于验证请求的合法性和完整性。签名不存储在本地,而是每次请求时重新生成。JWT是一种用于用户认证的紧凑、安全的令牌格式。
2024-08-28 20:11:30 807
原创 系统设计——登录流程
整个登录流程涉及用户身份验证、令牌生成与验证、以及可能的多因子认证或签名认证,确保用户身份的真实性和系统资源的安全性。系统通过令牌管理用户的会话,通过签名保护特定操作或资源的安全。
2024-08-28 17:51:34 795
原创 Java-Springfox介绍及使用教程
springfox是一个用于生成 RESTful Web 服务 API 文档的开源库,常用于 Spring Boot 项目中与 Swagger 集成,以便自动生成交互式 API 文档。通过使用 Springfox,你可以轻松地生成 API 的文档,而不需要手动编写。
2024-08-27 14:09:54 1433
原创 数据库-建表时是否需要设置外键?有啥影响?
设置外键适合在生产环境中,尤其是需要确保数据一致性和完整性的场景。这对数据安全、可维护性有很大帮助,但会有一定的性能开销。不设置外键适合在开发环境或特定需求场景下,例如数据迁移或需要高性能的场合。在这些情况下,数据完整性需要通过应用程序逻辑来保证,这可能增加维护的复杂性和风险。最终的选择应根据具体的业务需求、性能要求和团队的技术水平来决定。
2024-08-27 13:31:04 906
原创 mybatis-plus中Swagger 模式和Kotlin 模式是什么?
在 MyBatis-Plus 中,Swagger 模式和 Kotlin 模式是为了支持特定技术栈和开发需求的两种配置选项。它们分别针对 API 文档生成和 Kotlin 语言提供了更好的支持和集成。
2024-08-27 09:27:40 611
原创 Mybatis-plus 创建自定义 FreeMarker 模板详细教程
网址:https://baomidou.com/reference/new-code-generator-configuration/#%E6%A8%A1%E6%9D%BF%E9%85%8D%E7%BD%AE-templateconfig(页面往最下面拉为自定义模板相关内容)首先,在项目的resources目录下创建一个名为templates的文件夹。在该文件夹中,创建一个新的 FreeMarker 模板文件。这是你的自定义控制器模板。在@Autowired// 其他控制器方法...
2024-08-26 20:18:56 838
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人