- 博客(29)
- 资源 (1)
- 收藏
- 关注
原创 Springboot同时支持不同的数据库,Oracle,Postgresql
这个方法我使用两周了,总的来说实现效果和我预想中一样,我在同一个分支做兼容,省去了大量合并代码,测试的工作量,别的不说,这个项目至少节省了20%~30%的工作量。</</个人博客:http://qinyangx.top/
2025-04-07 19:16:24
744
原创 Springboot 同时支持不同的数据库,Oracle,Postgresql
目前,我们项目的开发流程是这样的,Oracle 版本先行开发,然后再把代码手动合并到 Postgresql,测试修改 Postgresql 的 sql 部分。若希望保留多数据库支持,同时让 PostgreSQL 作为默认数据库,最佳实践是**为所有 PostgreSQL 专用的 SQL 显式标记 databaseId="postgresql",并保留无 databaseId 的 SQL 作为“通用后备”**(适用于简单兼容场景)。-- 通用 SQL(兼容 PostgreSQL 和 Oracle) -->
2025-04-07 19:15:15
441
原创 博客图床 VsCode + PicGo + 阿里云OSS,Github
博客图床 VsCode + PicGo + 阿里云OSS,小丑,Github
2025-03-18 23:57:09
572
原创 Springboot启动失败:解决「org.yaml.snakeyaml.error.YAMLException」报错全记录
字符集一致性确保开发工具、配置文件和运行时环境的字符集一致(推荐UTF-8)。工具差异处理切换开发工具时,注意工具默认配置的差异,必要时显式指定关键参数。调试技巧遇到编码问题时,优先检查文件编码和运行时字符集配置。
2025-03-18 10:53:17
433
原创 Springboot启动失败:解决「org.yaml.snakeyaml.error.YAMLException」报错全记录
Springboot启动失败:解决「org.yaml.snakeyaml.error.YAMLException」报错全记录
2025-03-18 10:51:32
389
原创 postgresql 高版本pgsql备份在低版本pgsql中恢复失败,报错:“unsupported version”
PostgreSQL跨版本数据迁移:解决「unsupported version in file header」报错全记录
2025-03-17 18:31:43
554
原创 Java Object转List实体类错误以及解决方案(异常:java.util.LinkedHashMap cannot be cast to JavaBean)
Java中Object可以直接转成List实体类:Map<String, List<Student>> mapIdAndStudent = new HashMap<>();List<Student> studentList = new ArrayList<>();mapIdAndStudent.put("c001", stude...
2019-04-22 18:31:02
5261
3
原创 怎样理解多态
多态的表现(效果):同一个调用语句可以实现多种形态.比如,在发生多态时,如果传入参数是一个子对象,那么会调用子对象对应的成员方法,如果传入参数是一个父对象,那么会调用父对象的成员方法.C++中多态的实现:C++中多态的实现需要三个条件.1.存在继承关系 2.子类重写父类虚函数 3.父类指针或引用指向子类对象.多态的意义:增加了程序的可拓展性,实现了模块之间的解耦和.C++面向对象三
2017-07-15 08:06:22
1910
原创 Linux多进程 -- 创建子进程
Linux多进程 – 创建子进程fork函数Linux创建单个子进程Linux创建多个子进程父子进程共享内容
2017-07-09 13:41:57
6379
原创 Linux系统中段错误的原因
问:Linux系统中段错误的原因?答:段错误是指访问的内存超出了系统给这个程序所设定的内存空间,例如访问了不存在的内存地址、访问了系统保护的内存地址、访问了只读的内存地址等等情况。总结,就是非法访问内存时,会发生段错误。
2017-07-09 13:15:29
696
原创 Linux修改系统时间、硬件时间以及时间同步问题
Linux系统时钟有两个。一个是硬件时钟,即BIOS时间。另一个是系统时间,是Linux的Kernel内核时间。当Linux启动时,系统Kernel会去读取硬件时钟设置,系统时钟会独立于硬件运作。所以会出现硬件时钟和系统时间不一致的情况。1. 使用date指令查看系统时间。2. 使用date指令修改系统时间。date -s 07072017 修
2017-07-01 20:08:18
5994
原创 连接Oracle数据库,出现The Network Adapter could not establish the connection
问题描述:在使用Oracle客户端连接Oracle数据库时,出现The Network Adapter could not establish the connection,连接失败。问题解决:启动Oracle数据库服务和Oracle连接侦听服务。结论:先启动Oracle服务,再连接Oracle数据库。
2017-06-28 13:15:28
17152
3
原创 警告:不能通过‘...’传递有非简单旧数据类型‘struct std::string’的对象
警告:不能通过‘...’传递有非简单旧数据类型‘struct std::string’的对象问题描述:在C、C++联编过程中,编译源码出现:“ 警告:不能通过‘...’传递有非简单旧数据类型‘struct std::string’的对象;调用会在运行时中止”警告。问题解决:结论:string是C++中才有的数据类型,但是使用C语言中的prin
2017-06-28 13:05:59
1446
原创 C语言基础一之预备知识(计算机结构组成、计算机系统组成、进制、原码反码补码)
学习C语言之前,必须先对计算机的一些基本知识有一些了解。包括计算机的体系结构,即计算机又处理器、控制器、内存、输入设备和输出设备组成;计算机分为软件系统和硬件系统;以及二进制、原码反码补码等基础知识。
2017-06-27 12:37:37
823
原创 C语言 文件结束标志
文件分类:文件分为两类,文本文件和二进制文件。文本文件基于字符编码,常见编码有ASCII、UNICODE等等。文本文件全是由字符构成,ASCII码的取值是从0~255.#define EOF -1其中-1不在ASCII码的取值范围中,所以在文本文件中EOF(-1)可作为文件结束的标准。int main(){ //以只读的方式打开文件 FILE * fp = fopen("../.
2017-03-16 17:31:16
12845
原创 C语言 变量的作用域和生命周期
C语言 作用域和生命周期a.普通局部变量属于某个{},在{}外部不能使用此变量,在{}内部是可以使用。执行到普通局部变量定义语句,才会分配空间,离开{},自动释放。普通局部变量不初始化,默认值为随机数。b.static局部变量属于某个{},在{}外部不能使用此变量,在{}内部是可以使用。在编译阶段就已经分配空间,初始化只能使用常量。static局部变量不初始化,默认值为0。离开{},static局部
2017-03-14 19:59:44
13024
原创 C语言 内存管理
C语言 内存管理1.内存分区 C源代码进过预处理、编译、汇编和链接4步生成一个可执行程序。程序在没有运行之前,也就是说程序没有被加载到内存前,可执行程序内部已经分好3段信息,分别是代码区(text)、数据区(data)和未初始化数据区(bss)三个部分。(部分人直接把data和bss合起来叫做静态区或全局区)。运行可执行程序,系统把程序加载到内存,除了根据可执行程序的信息分出代码区、数据区和未初
2017-03-12 17:05:34
5686
5
原创 C语言 数组名作为参数传递 数组名发生退化成指针
C语言中,数组名作为参数传递给函数时,数组名会退化为指针;需要数组大小时,需要一个参数传数组名,另一个传数组大小。 实际上,C语言不支持数组名作为形参来进行调用。例如函数void fun(int a[]),里面的a实际上在进行编译时,是作为指针来处理的,所以上面的函数完全等价于void fun(int *a);所以当你想知道数组长度时候,需要在传递参数时传入。案例分析: 如上所示,当数组名作
2017-03-09 17:59:56
2756
原创 关于有符号整型int最小值的取值理解
1. 在计算机系统中,数值一律用补码来存储。原因如下:- 统一了零的编码- 将符号位和其它统一处理。- 将减法运算转变为加法运算。- 两个用补码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃。2. 对于有符号正整数,原码、反码和补码一样。3. 对于有符号负整数最小值:1000 0000 0000 0000 0000 0000 0000 0000注意:对于计算机来说,它并不认识负数是什么。对
2017-03-02 23:54:17
5920
1
原创 Linux配置环境变量PATH
Linux(Ubuntu)配置环境变量1. 什么是环境变量(PATH)? 当要求系统运行一个程序时,但是没有告诉系统需要运行的程序的完整路径。系统会先在当前目录下寻找这个程序的执行文件,如果没有找到,系统会再到path中指定的路径中寻找该文件。例如:(1) 在cmd中执行Java程序,系统先会在当前目录下寻找该文件。(2) 到PATH中指定的路径中,寻找需要执行的文件。 2. U
2017-03-01 22:19:22
572
原创 Myeclipse和Eclipse的区别
Myeclipse和Eclipse的区别1.Eclipse是开源的。Myeclipse是收费的。2.Myeclipse的核心是Eclipse。只不过Myeclipse在此基础上增加了很多插件,使用起来更加方便。3.Myeclipse比Eclipse更加消耗资源。PS:知道以上几点就行了。
2016-12-30 20:19:29
10802
3
原创 Object类 Object常用成员方法
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2016-12-21 21:18:31
3664
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人