• 2024-10-20记录项目中遇见的几个常见异常
    org.springframework.beans.factory.BeanCreationException&&java.lang.IllegalStateExceptionCausedby:org.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'requestMappingHandlerAdapter'definedinclass
  • 2024-10-10Solon 3.0 新特性:SqlUtils
    Solon3.0引入了新的SqlUtils用于数据库基础操作,SqlUtils是对JDBC较为原始的封装,采用了UtilsAPI的风格,极为反普归真。特性有:支持事务管理支持多数据源支持流式输出支持批量执行支持存储过程一、概述SqlUtils是一个轻量的数据库操作框架,采用UtilsAPI风格,简
  • 2024-10-042024.10.4
    mybatis中表字段的映射实体类packagecom.ruoyi.system.handler;importcom.fasterxml.jackson.core.JsonProcessingException;importcom.fasterxml.jackson.databind.ObjectMapper;importcom.ruoyi.system.domain.ProductDetails;importorg.apache.ibatis.type.BaseTyp
  • 2024-09-196. 什么是MySQL的事务?如何在Java中使用Connection接口管理事务?
    事务(Transaction)是一组可以看作一个逻辑单元的操作,这组操作要么全部成功,要么全部失败。事务确保了数据库操作的原子性、一致性、隔离性和持久性,这些性质统称为ACID特性:原子性(Atomicity):事务中的所有操作要么全部完成,要么全部不完成,不会出现部分完成的情况。如果事务中某个
  • 2024-09-07JDBC,SQL注入,事务,C3P0与Druid连接池(最详细解析)bh
    JDBCJDBC(JavaDataBaseConnectivty,Java数据库连接)API,是一种用于执行Sql语句的JavaAPI,可以为关系型数据库提供统一的访问,其由一组Java编写的类和接口组成.JDBC驱动程序起初,SUN公司推出JDBCAPI希望能适用于所有数据库,但实际中是不可能实现的,各个厂商提供的数据库
  • 2024-09-02第九周总结(2024.8.31)
    packagecom.java.hadoop.hive;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importorg.apache.hadoop.hive.metastore.api
  • 2024-08-03实战:深入了解JDBC和分享JDBCUtil
    Java数据库连接(JDBC)是一个功能强大的API,它弥补了Java应用程序与关系数据库之间的差距。通过利用JDBC,您可以无缝地与数据库交互以存储、检索和操作数据。但是,要有效使用JDBC,需要遵循最佳实践,以确保代码的最佳性能、安全性和可维护性。正如我之前提到的观点,学习一个新
  • 2024-07-24学习Java的日子 Day56 数据库连接池,Druid连接池
    Day561.数据库连接池理解:池就是容器,容器中存放了多个连接对象使用原因:1.优化创建和销毁连接的时间(在项目启动时创建连接池,项目销毁时关闭连接池)2.提高连接对象的复用率3.有效控制项目中连接的个数(连接对象占内存资源)数据库连接池负责分配、管理和释放数据库连接
  • 2024-07-09手写MyBatis
    1.前言本篇博客,将使用JDK动态代理、注解、反射等技术,编写一个最简单的MyBatis,可基本实现对象的增删查改2.注解的定义2.1Delete注解/***@ClassNameDelete*@Descriiption删除注解*@Authoryanjiantao*@Date2019/6/2711:03**/@Target(ElementType.METHOD)
  • 2024-06-18Javaweb实现简易记事簿 jdbc实现Java连接数据库
    //注册-[]获取register的数据,从表单传过来将(账户,密码,用户名)上面的数据写入数据库中,用jdbc(插入)加载数据库驱动,连接数据库,发送SQL加载数据库有可能失败保险起见抛一个异常返回判断,如果注册成功则提醒用户注册成功,并且跳转到登录页面进行登录。如果注册失败则提醒用户注册失败,
  • 2024-06-13mysql的jdbc连接java实现
    在Java中使用JDBC连接MySQL数据库,你需要以下步骤:确保你有MySQLJDBC驱动程序。如果没有,你可以添加依赖到你的项目中,例如使用Maven:<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.23</version></de
  • 2024-05-28Mybatis-Plus 实现 jsonb类型的数据存取
    1、自定义类型处理器importcom.alibaba.fastjson.JSON;importcom.alibaba.fastjson.serializer.SerializerFeature;importorg.apache.ibatis.type.BaseTypeHandler;importorg.apache.ibatis.type.JdbcType;importorg.postgresql.util.PGobject;importjava.sql.Calla
  • 2024-05-16openGauss CopyManager
    CopyManagerCopyManager是openGaussJDBC驱动中提供的一个API接口类,用于批量向openGauss中导入数据。CopyManager的继承关系CopyManager类位于org.postgresql.copyPackage中,继承自java.lang.Object类,该类的声明如下:publicclassCopyManagerextendsObject构造方法public
  • 2024-05-06openGauss CopyManager类简介
    CopyManager类简介CopyManager是openGaussJDBC驱动中提供的一个API接口类,用于批量向openGauss中导入数据。CopyManager的继承关系CopyManager类位于org.postgresql.copyPackage中,继承自java.lang.Object类,该类的声明如下:publicclassCopyManagerextendsObject构造方法
  • 2024-04-16MyBatis-04-数据库配置
    XML解析时对environment节点的处理TransactionFactorytxFactory=transactionManagerElement(child.evalNode("transactionManager"));DataSourceFactorydsFactory=dataSourceElement(child.evalNode("dataSource"));DataSourcedataSource=dsFactory
  • 2024-04-15C3P0反序列化链分析
    前言C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。使用它的开源项目有Hibernate、Spring等。之前有接触到过,但是没有深入了解,像之前学二次反序列化时,WrapperConnectionPoolDataSource就是C3P0的环境搭建<dependency><groupId>com.
  • 2024-04-15springboot多数据源配置
    由于我们系统旧环境没有用springboot自带的多数据源功能,使用了自己配置的多数据源。添加自定义数据源注解@Target({ElementType.TYPE,ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)public@interfaceDynDatasource{Modulevalue()defaultModule.DEF;}注解
  • 2024-04-09民航电子数据库:表主键为自增,insert时报错:[E16005] 字段xxx不能取空值
    目录一、场景二、报错信息三、排查四、原因五、解决一、场景1、对接民航电子数据库2、表的主键为自增主键,使用mybatis封装好的insert方法新增记录时报错二、报错信息###Errorupdatingdatabase.Cause:java.sql.SQLException:[E16005]字段ID不能取空值
  • 2024-04-07使用MySQL驱动方式实现读写分离
    前言MySQL在5.1.X版本之后增加了对multi-host的支持,我们可以使用它来实现读写分离。正常的jdbc连接格式为jdbc:mysql://ip:3306/testdb?characterEncoding=UTF-8multi-host的jdbc连接格式为jdbc:mysql:replication://ip:3306,ip:3307,ip:3308/testdb?useUnicode=t
  • 2024-04-01深入理解MySQL死锁及解决方案
    导言在数据库应用开发中,MySQL死锁是一个常见但又棘手的问题。在高并发环境下,多个事务同时访问数据库,如果操作不当,就容易导致死锁的发生。本文将深入探讨MySQL死锁的本质、原因及解决方案,并附上Java代码示例,帮助读者更好地理解和处理MySQL死锁问题。MySQL死锁是什么?MySQL
  • 2024-03-23利用 Lambda 获取更简洁的代码
    本文演示了一个Java重构的真实示例,旨在实现更简洁的代码和更好的关注点分离。这个想法源于我在专业环境中编码的经验。从前在生产代码中当我处理持久化一些域数据的代码时,我最终得到了以下结果:publicvoidprocessMessage(InsuranceProductproduct)throwsException
  • 2024-02-22java.sql.SQLException: Connection is read-only. Queries leading to data modification are not
    java.sql.SQLException:Connectionisread-only.Queriesleadingtodatamodificationarenot产生的原因:事务中查询的方法中,嵌套了新增或修改的方法,会报该异常。解决方法:找到报错的方法,在该方法上加上注解,@Transactional(readOnly=false)业务上加了事务控制,意思是只能查
  • 2023-12-17openGauss学习笔记-163 openGauss 数据库运维-备份与恢复-导入数据-使用COPY FROM STDIN导入数据-简介
    openGauss学习笔记-163openGauss数据库运维-备份与恢复-导入数据-使用COPYFROMSTDIN导入数据-简介163.1关于COPYFROMSTDIN导入数据用户可以使用以下方式通过COPYFROMSTDIN语句直接向openGauss写入数据。通过键盘输入向openGauss数据库写入数据。详细请参见COPY。通过
  • 2023-12-13[Clickhouse] Clickhouse 报SQLException : Read timed out
    1问题描述在使用Clickhouse(21.3.4.25)进行大数据量地数据查询,高频报出SQLException:Readtimedout错误2问题分析2.1单次查询:耗时约4s2.2并发20查询:报SQLExceptionReadtimeout,并发5查询:正常2.3整个SQL:查询业务逻辑复杂(多层嵌套、Join、200余行)2.4整个Query
  • 2023-11-24java.sql.SQLException: ORA-02289: 序列不存在
    --CreatesequencecreatesequenceLOG_IDminvalue1maxvalue9999999999999999999999999999startwith1incrementby1cache20;如果检查没问题的话,不妨试试上面的代码,就是sequenceLog_ID未创建,希望能有所帮助!