- 博客(164)
- 资源 (6)
- 收藏
- 关注
原创 事务提交接口 提示只读事务
还是那个项目,提示只读事务,但是不是面对的所有的操作都会提示这个,然后这个我去网上去找也没有一个明确的原因。因为提示这个,然后去网上搜了,确实这个给出的所有的答案都是加上@Transactional(rollbackFor = Exception.class)注解,但是如果是简单的加上注解的话,我也是没有必要在发在这里了,但是目前的情况是,有的接口提示这个,有的接口不提示这个,提示的在插入的地方,我们又开始不得不翻看配置文件,开始读和分析。日常解析xml如果方法以del开头的话,就不需要增加事务注解了
2025-04-10 09:00:17
541
原创 url提交变成了form表单提交
一个历史比较悠久的需求,很久之前的AmsRemark加密,但是因为我们加密之后的这个参数,是一个字符串,包好了字母,数字,和特殊字符,我们是通过url后面增加参数的形式去和后台进行交互的,但是面临一个问题,当特殊字符,通过url和后台进行交互的时候,特殊字符会被转义,而且会有可能出现超长的问题,但是呢,有的接口参数非常的多,而且已经被处理了一些了,所以说如果是把url的参数传递全部变成form提交,也是很多的工作量,所以说该如何处理呢。第一种方案的话,硬解就好了,纯遍历,就是蠢一些,然后拿到了对应的答案。
2025-04-10 08:59:40
260
原创 Bootstrap Table动态修改列标题
目前有一个需求,就是国际公司的汇率计算,有部分的业务,例如是资产部门内转移,部门间转移,国际公司的汇率会使用外币来进行统计,于是就是想通过汇率转换来处理,但是问题是我们不想暴露出来给非国际公司用户使用,前端的处理,将更加灵活的处理这个展示的问题。处理的话,就是首先,后台交换,单据新建的情况的下是直接交换,老的数据是通过sql刷新一遍数据库,这些后台的操作就不在这边描述了,主要是为了前端处理,当然看到了这个’-‘情况是因为,如果没有汇率的情况下要求展示’-',这个就是当某个组织的时候,展示以及隐藏某些内容。
2025-04-08 08:50:44
406
原创 老式项目去O多数据源转换
目前国产项目都是在搞去O,我们也是,说一下我们的项目情况,我们的情况的主要是业务是资金项目,然后在搞erp,我们是erp的下级,项目情况的是,本身业务库是oracle,和erp核心通过dblink来进行交互。我们去O的话,要求把本地库的oracle换成dm数据库,然后和erp核心交互的话还是使用oracle做一个中间机。最简单的方案肯定还是将数据库从oracle换成dm数据库,然后继续使用dblink的方案,虽说老式项目很恶心,但是这个方案是改动量最小,最安全的方案,但是目前就一个问题,中间机要是不给我们用
2025-04-08 08:50:26
1080
原创 dm.jdbc.driver.DMException: 违反表[ACT_RU_EXECUTION]唯一性约束条件[SYS_C0083460]
提示这个报错,dm数据库 activiti 提交流程报错,然后跟着报错,然后我就不知道该去干什么了,我上网上去搜,然后没得办法,又因为是在源码里面的。自己看了一下午,又看了一上午了没得办法,我一直想的是处理数据,然后处理数据被限制了数据外键,数据我都删除不过来。然后开始摇人,大佬来了看了一眼,给了一个sql我也不知道这个是啥sql,然后这个是activiti的初始化的值的,然后大佬说只要是修改了这个值,就没啥问题了,这个sql是干啥呢,我上午找了找,没得改初始值的问题,这个sql是oracle
2025-02-28 10:51:18
1076
原创 自定义注解 加密
介绍一下是什么叫做,水平越权以及垂直越权,水平越权的意思是,以我做的功能举例,例如省的角色,山东省的角色,理论上来说,山东省的角色可以看到整个省的数据,山西省的角色,可以看得到山西省的数据,水平越权的意思,就是说山东省的角色,可以通过直接修改省份id查到山西省的角色能够看的数据。垂直越权的问题,就是说山东济南的角色,地市济南这个角色的用户,可以在资产明细(按月)查询到济南的数据,但是查找不到全省的角色,但是通过修改参数,可以使济南的角色查询到山东省的角色能够看的数据。这是对应的加密的代码块,
2025-02-28 10:49:31
347
原创 activiti5.21 couldn‘t deduct database type from database product name ‘DM DBMS‘
之前的老项目,要求国产化,之前项目的数据库时oracle,要求改成dm,数据迁移之后,启动提示couldn’t deduct database type from database product name ‘DM DBMS’,然后去百度大概是出了几个方案,报错问题处理为啥我要给图p上呢,因为这四套方案我后面都试了,都崩了,然后摇人才处理了。其实最好使,也是双亲委派的想法,加载activiti的数据库驱动的类,后面的方案就是重写源码,这三套方案,都是挺难其实。重写这四个类就可以,所谓的重写,就是直
2025-02-07 09:14:08
1203
1
原创 pagehelper依赖冲突
之前呢,因为数据库从oracle更换成了dm,分页的pagehelper之前是旧版本不支持dm,之前是pagehelper4.2.0,升级到了pagehelper5.2.0,升级了之后呢,就是改了改mybatis的配置文件,还挺高兴,这就升级完成了,也没有出现啥依赖冲突,还天真地认为完事了,然后就去忙活切换数据源的问题了,这个切换数据源的问题我们后话再说,昨天搞了一天切换数据源,原本以为完事了,结果到了分页又出了问题了,昨天的切换数据源难度一定程度上就是因为分页的问题,现在又出现了这个问题,就意识到了,昨天
2025-02-07 09:13:17
1090
原创 达梦数据库 无法自动获取数据库类型,请通过dialect参数指定!
问题描述一个旧的项目要求国产化,然后将原本的mysql数据库切换成dm数据库,然后切换完成了之后成功启动了,我很高兴竟然一把成了,然后发现的登录报错,然后我还没有改中文,导致报错看不懂,我就以为是sql有啥独特的方言,结果都不是,是一个分页工具提示的报错,这其中tomcat黑窗和idea中改中文太难啦!!!报错org.apache.shiro.authc.AuthenticationException: Authentication failed for token submission [org.a
2024-10-22 15:36:15
897
原创 导出问题处理
直到发现了这个问题,我才想起来,之前我改了一版,修改的是最大的文件数是从100000变成了300000,然后发现我只改了一个静态变量,只改了一个文件的判断是不是最多条的数量,但是一个excel中的最大条数还是100000,然后就提示报错了,该说不说这个问题我真的找了好久,因为确实是文件找不到报错的地方。测试出来一个问题,使用地市的角色,导出数据然后超过了20w的数据,提示报错,我还以为是偶然的问题,然后是发现是普遍的问题,本地环境复现了,然后是,这个功能是三套角色,分别是集团,省份,地市。
2024-10-22 15:35:16
372
原创 springboot项目多个数据源配置 dblink
然后又长知识学了一个东西叫做,dblink,我的理解是我们没有办法直接调用某个数据库,所以只能够通过另外一种方式,这是oracle库,其实普通理解是apps是一个库,后面是表,但是这个是dblink,间接连接另外一个库。在对应的配置文件,配置对应的数据库情况,不过我确实没咋测试对于事务的处理我可以后续在多做测试。APPS.QFA_SOURCE_AMS_V 是远程数据库中的视图(View)名称。@AMS_TO_ERP0 表示数据库链接的名称,它连接到远程数据库。当项目中涉及到多个数据库连接的时候该如何处理?
2024-10-15 11:03:40
705
原创 ajax地址参数与data参数运用
因为项目在进行安全准入检查,也是代码安全的一种处理方式吧,然后我们在进行行加密以及模块加密,就是因为行信息中存在行id可以通过更换行id进行查询其他行的信息,模块也是一样,可能会出现垂直越权以及水平越权,所以为了处理这个问题,我们增加了行加密以及模块加密,对于行id和模块名进行加密,后台增加处理,如果行id和模块名无法匹配则无法进行。因为具体的加密字段在接口后面用?上面是前提,但是遇到一个蛮尴尬的问题,加密的字符串是通过ajax传递的参数类似。
2024-10-15 11:03:06
730
原创 form表单引发的问题
遇到一个问题,就是有一个表单提交,没有提交成功,但是我看控制台没有报错,但是后台没有接口提交,network中没有任何内容,然后我还是后端,才接了一点前段的问题,之前都忘了个屁的。
2024-08-29 10:03:37
218
原创 导出文件的新形势
我都去找底层,也没有发现哪里有表头,我还以为是在实体类上面呢,因为我做过类似的,然后发现,好家伙这边的是直接用手建表头文件,然后发现一个问题,表头没变,我才意识到,我没有改表头呀,不过我没有看到对应的表头呀,然后我找了好多确实没找到。大概问题是这个样子,有一个bug是提示说导出的文件的字段顺序有问题,我一看这不是挺简单的么,而且用的是。包,这个我用过,没啥问题呀,而且我之前整个复杂的都可以,我觉得问题不大,然后就就调整了一下顺序,
2024-08-29 10:03:09
295
原创 mysql需求处理中使用sql整理
首先找到需要处理的表,leader_list这是我自己新建的领导的相关的表,然后,应该是要是用函数GROUP BY,取分离城市信息,而且肯定有对应的子查询,因为GROUP BY之后显示需要做限制,我要展示的内容肯定要比GROUP BY后面的内容要多,g_organization组织表,因为业务表中的组织id是可信的,但是组织名称真的五五开,没有必要要冒着这个风险,不如直接多关联一张表。两个sql查询几乎很像,但是我还是废了蛮多的功夫的,我的sql太差啦。应该是这么写,然后SUM用来计算求和的数。
2024-08-05 14:19:42
430
原创 AmazonS3部署以及nacos配置参数
其实本来和前端商议的也是直接用他们之前的转成base64的格式,但是出了点问题,我发现图片的大小好大啊,转成base64我这边没有办法测试看他转成图片后的样子,所以我只能换成附件下载的样子,直接给前端下载一个图片,因为涉及到做的需求的头像的处理,所以需要去找头像的来源,没想到又是我们的老熟人,AmazonS3,巧了已经是第二次用了,上次我是用的别人的工具类去干的,这一次我这边自己编辑具体工具类型。然后在你的配置文件里面找到对应的nacos,然后登录一下,这是配置上对应的读取nacos的地址。
2024-07-11 20:06:53
775
1
原创 java的遍历的方法对比 效率对比
综上所述,选择合适的遍历方式应该基于具体的数据结构和操作需求。对于小型数据集合,普通的 for 循环可能是最高效的选择;大概就是一个插入的接口,还有就是几种的对比方法,分别是for,foreach,Iterator,Stream,parallelStream。大概是千万不到,插入的时候我插入的是两个字段,实体应该是10多个字段,然后我就一遍一遍的执行看结果,我这边的出来的结果。上述内容我是从ai里面查出来的,但是我头铁我不信,我要自己试试,然后我开始了尝试。然后插入的数据量大概是9730000。
2024-07-11 20:05:52
1470
原创 cn.hutool.poi.excel 实现excel导出效果 首行高度,行样式,颜色,合并单元格,例子样式
首行高度,行样式,颜色,合并单元格,例子样式
2024-05-17 16:40:45
1206
原创 自动发版工具以及本地debug
执行命令powershell,然后打开powershell,然后执行对应脚本。俺不是很懂,这个是组内一个同事写的脚本,可以执行脚本然后自动上传本地代码,这个remote是用来本地开启debug,可以本地debug远程服务器代码。
2024-04-16 16:32:20
241
原创 http调用HttpURLConnection、RestTemplate
目前有一个需求是需要跨服务调用的,通过后端直接访问,直接通过url访问记录一下,后面更简单的去处理。使用RestTemplate 方式去进行访问,使用Stream流进行返回。首先是最古老的方式HttpURLConnection。处理方式相当古老了,但是别说好用还。新的方式RestTemplate。
2024-04-16 16:31:40
410
原创 RuleEngine规则引擎底层改造AviatorScript 之公式规则
就是需要有一个函数nvlFunction,这个函数是用来干啥的呢,就是说处理入参的,出现了这个函数就是表示有入参,这个函数一共两个参数,第一个参数,是取自函数这个功能的字段,要求是函数功能的函数code值,用来表示入参,另一个参数就是当这个入参不输入的时候,将这个参数赋值给对应的函数。当然上来的问题就是前端的问题,这个框首先他们用的是富文本,富文本传到后台的结果是前端脚本,带着h5的标签,后面改成了这个,当时这个东西其实和后端关系不大,就是如何处理换行符而已,使用这个之后换行符变成了。
2024-04-08 15:26:32
689
原创 RuleEngine规则引擎底层改造AviatorScript 之函数执行
这个取值,因为我这边取了一个巧,我在发现入参的类型我不好判断之后,我放弃了使用顺序确认入参这个形势,我直接使用的key-value的形势,这样可以在传参的时候一点问题都不会,如果前端传过来的入参的顺序出现问题的情况下,也会如我计划的一样执行,但是确实面临了一个问题,因为后面需要实现一个公式规则的功能。可以看到的是,他们首先拿到函数id,然后判断函数是否存在,然后去已经预制好的数据库表中去读取固定的函数名称,然后根据入参进行入参的判断,然后是执行。后面就转换了实现思路,不在使用。
2024-04-08 15:25:50
803
1
原创 easy excel导入导出
每次都要去看easy excel的导入的例子,回回都没记性这次记录一下。将个人荣誉信息导入到数据库中,并且将对应字段查询出来方便后续查询使用。将通知以及具体的通知明细进行导出。excel多个sheet导出。
2024-01-22 10:11:22
598
原创 登录之后的二次认证
三个接口写完了,感觉是完事了,但是存在一个问题,如果被人直接访问了呢,直接选择跳过前台的二次验证判断接口,于是就想写一个拦截器,直接在每一个请求之前进行判断,思路的话就是在的登录之后,在token中存一个cookie中存一个key用于表示。二次认证,本来的需求是完成一个二次认证,对于登录到制定系统的中的用户进行二次验证,本来是只有某一个功能要用的,也是按照某一个功能设计的接口情况,但是在这个接口上线之前要求改成通用性的。实话说这块不是我写的,但是我大概能够看的懂,但是我自己写可能还是有差距,持续学习吧。
2024-01-22 10:10:39
681
原创 事务问题处理
新建一个通知,通知下面选择需要通知到的通知人,要求通知发送的时候如果通知发送失败,不能新建通知和具体的通知人关系。发送某个人失败,要求通知成功建立,其他人成功发送则建立通知和通知人的关系,失败发送的话也不影响其他人的成功。实话说也没有实现子流程的回滚,也是有问题的,但是完成了我的需求,我是感觉用注解是不能够完全处理问题的,我就想到用手动事务,写了一个手动提交事务的,还可以实现两个事务独立互不影响的效果。本想想的是这个东西大概率要用事物的传播特性做吧,七个传播特性。
2024-01-15 15:17:01
667
原创 微服务配置文件字段讲解
由于从一个太过于自我的公司里面出来,导致和外面的世界脱轨了,然后需要学的东西太多了,导致连微服务的配置文件都看不懂啦,现在来讲讲其中的关键字。大型项目,微服务,中间件,gateway作为网关,nacos用来注册服务,nginx用来转发,redis作为缓存中间件。找到了具体使用的配置文件,然后nacos使用我本地的,而不是在nacos中配置的。flow中配置了其他微服务的地址以及端口。首先不同同一个项目不同环境之间切换。注释掉原本的config的内容。决定使用什么环境的配置文件。这是代码中具体存储的地方。
2024-01-15 15:16:22
405
原创 sql需求处理,复杂sql,求和,计数,MAX,ROUND
其实这个需求最难的不是sql,最难得是数据不全,数据中人员表的数据只有两年的数据,且两年数据不全,薪资表的数据是4年的数据,也是不全的,因为如果是完全年的话其实计算起来还是不难的,但是我手里的手里是不全的,数据还涉密,我没有办法同步。计算社保的基数,要求是从薪资表和人员表开始取值,给定一个年份,一个公司,求出这个公司所有人员的这个年份的社保基数,人员计算要从人员表计算,人员表每个月数据都有,要求根据这一年的最后一个月的人员进行统计,薪资表也是每个月的数据。
2023-12-28 16:28:04
555
1
原创 人力项目框架解析新增修改方法
在迁移项目但是遇到了一些问题,迁移项目的时候发现项目的整体框架很有趣,但是苦于项目框架太大了,竟然只能完整迁移,做不到部分迁移,于是我也只能从一半的角度来进行解释整个项目。雇员我们雇员这个为对象讲解一下整个项目@Api(value = "人员基本信息模块", tags = "人员基本信息模块")@CrossOrigin(origins = "*", maxAge = 3600)@RestController@RequestMapping("/api/person/person_base_info
2023-11-15 20:00:14
257
原创 dameng数据库数据id decimal类型,精度丢失
两边研发对了很久,包括问题的发现也是很久,因为是整体的列表id出现了问题,最后才确定就是获取对象出现了问题,问题是从修改对象属性发现的,因为对象属性被修改之后被校验住了,因为传进来的数据和数据库里面的值不一致导致的,然后我们才发现,封装成了对象之后id字段就不一样了,经过多方比对,dameng数据库驱动版本太低了导致的,老版本的会有精度丢失的问题,新版本则修复了这个问题。使用最新的达梦数据库驱动。
2023-11-13 10:51:59
827
原创 swagger精度丢失,postman调用正常,dameng数据库,long类型字段
实话说作为后端,这个问题的发现很难,一般是前端反馈的,然后后端才开始比较问题,然后上网找了挺多的方案的,有添加启动注解以及字段注解的,但是太多了,这种问题,我们不可能一一添加注解的,所以我们开始寻找之前项目中是不是有什么配置之类的东西,才导致旧的项目中没有这种问题,但是新的项目中有这个问题的,发现是一个配置类,不是那种强制校验的,我们就没有迁移过来,增加这个没有什么问题了。
2023-11-13 10:44:56
517
2
原创 无法解析的成员访问表达式[GROUP_CONCAT]; nested exception is dm.jdbc.driver.DMException: 第26 行附近出现错误:
##问题出现。
2023-10-24 17:31:07
1063
原创 Read timed out; nested exception is java.net.SocketTimeoutException: Read timed out
【代码】Read timed out;
2023-10-23 18:11:56
2969
2
原创 Error setting non null for parameter #1 with JdbcType null . dm.jdbc.driver.DMException: 序列号无效
问题出现org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{property='__frch_item_0.batchId', mode=IN, javaType=class java.lang.Long, jdbcType=null, numeri
2023-10-19 09:36:15
2988
3
原创 ### Cause: dm.jdbc.driver.DMException: 第207069 行附近出现错误: 超过最大参数个数(65535) ; SQL []; 第207069 行附近出现错误:
问题出现### Cause: dm.jdbc.driver.DMException: 第207069 行附近出现错误:超过最大参数个数(65535); SQL []; 第207069 行附近出现错误:超过最大参数个数(65535); nested exception is dm.jdbc.driver.DMException: 第207069 行附近出现错误:超过最大参数个数(65535) at org.springframework.jdbc.support.SQLStateSQLExcept
2023-10-19 09:23:19
959
原创 nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping:
报错Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@10212213]org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapp
2023-10-17 15:36:46
795
1
原创 语法分析出错,不是 GROUP BY 表达式
报错### Cause: dm.jdbc.driver.DMException: 第 9 行, 第 69 列[30]附近出现错误: 语法分析出错; bad SQL grammar []; nested exception is dm.jdbc.driver.DMException: 第 9 行, 第 69 列[30]附近出现错误: 语法分析出错 at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslat
2023-10-16 14:44:16
1137
2
微信小程序日历记事本前端
2019-11-13
Linked1.rar
2019-10-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人