- 博客(44)
- 收藏
- 关注
原创 设计模式-责任链模式
责任链模式是在调用类中指定链式关系,并在处理方法中判断是不是自己处理,如果不是则调用getNext方法交给下一个节点来处理。
2025-07-02 23:07:00
177
原创 设计模式-外观模式
一个接口,N个实现类,一个外观封装类 将接口里的同一个方法改为多个名字实现类1实现类2装饰器调用类三、总结外观模式是将一个接口方法封装到一起通过多个方法名来表示命令模式是将一个类里的多个不同名的方法分别封装成一个类,然后用一个接口方法来调用
2025-07-01 22:41:22
151
原创 设计模式-适配器模式
适配器模式就是对两个不相关的接口来汇总到一起,调用A接口的方法能触发B行为,所以再创建适配器的时候需要将B传入,然后实现A。
2025-07-01 22:23:15
208
原创 设计模式-观察者模式(发布订阅模式)
一个发布类:里面一个是别人需要订阅的属性,以及用于存储订阅者的list,attach方法是往list集合里面添加元素,notifyObservers通知方法,也就是循环调用订阅者里面的一个方法,这个notifyObservers在set属性的时候调用。一个订阅者抽象类:发布者notifyObservers里面调用的那个方法,外加一个订阅者用于获取里面的内容。N个订阅者:在构造器中将自己注册到发布者集合中,外加一个接口实现内容。
2025-06-30 22:50:01
244
原创 设计模式-迭代器模式
一个封装接口的实现类:实现这两个方法,以及定义Iterator和一个list集合。一个迭代器实现类:实现迭代器方法,并定义一个index坐标和list集合。一个用于封装接口:里面有add和getIterator的方法。一个迭代器接口:里面可以定义next和hasNext方法。
2025-06-30 21:12:26
176
原创 设计模式-备忘录模式
一个记录者类:操作备忘录里的属性,以及创建备忘录。一个管理员类:通过记录者创建备忘录,并将其记录。一个备忘录类:用来set,get属性。
2025-06-30 17:28:32
186
原创 设计模式-策略模式
工厂是创建型模式,它的作用就是创建对象;策略是行为型模式,它的作用是让一个对象在许多行为中选择一种行为。工厂模式在调用的时候是产生多种子类的实现类,而策略模式则都是产生Context类只是运行算法不同。
2025-06-30 16:11:42
232
原创 设计模式-简单工厂模式
简单工厂模式和册罗模式很像,策略模式是对工厂类的改造,创建工厂类的时候就将 CashSuper对象创建好,并封装在内部,然后对外提供一个方法用来获取double值,具体详情见下一篇文章。一个工厂类:用于生成各个类。一个抽象类:用于被子类继承。N个子类:用于实现具体方案。
2025-06-30 11:07:18
167
原创 sql查询慢的一种优化思路:尝试将多表查询转为单表查询
当数据量大查询慢时,可以尝试下单表查的速度,如果单表查速度很快,那就想想现在的这个功能能不能改为单表查后通过Java代码或者其他对数据库返回的结果集进行筛选。
2024-07-05 09:45:58
467
原创 帆软报表9.0连接达梦数据库
一、将驱动复制到帆软安装目录下二、配置数据库连接注意:dm.jdbc.driver.DmDriver是直接在文本框输入的进行以上两部就能连接达梦数据库了
2024-05-06 14:28:21
1245
4
原创 占位符过多引起Caused by: oracle.jdbc.OracleDatabaseException: ORA-01745: 无效的主机/绑定变量名
另一种情况没考虑,也就是urids超过65536个时会报ORA-01745,因为Oracle支持的占位符上限是65536。上面的sql之所以切割成999是因为Oracle in语句中支持的最大集合是999,超过会报ORA-01795。
2024-04-10 10:27:28
587
原创 【精简】Vue 一个@click时间绑定多个点击事件
经过debugger测试 好像m1和m2执行是按@click写的顺序来执行的并非异步。多个方法之间使用逗号分隔(经测试其实逗号和分号都可以)
2024-01-10 15:00:00
1727
原创 Oracle 可重复执行脚本 去除字段非空约束
该sql是查询T_USER表中ACCOUNTID字段是否非空 必填则返回1也就是查出来一条数据,否则返回0。该sql是将必填字段改为非必填。
2024-01-02 13:52:00
1087
原创 帆软报表报错 Java heap space 精简易懂
Java heap space 也就是Java的oom异常。解决办法调大帆软报表的jvm内存(别杠)调大一点,我这里给了20g。
2023-11-01 14:30:06
670
原创 Oracle 解决表中已有数据,我们需要修改字段的数据类型问题
直接修改会报错:ALTER TABLE T_HIS_PAYMENTS MODIFY ENTITYID varchar2(32)ORA-01439: 要更改数据类型, 则要修改的列必须为空¶。
2023-09-20 17:52:41
2525
1
原创 mybatis plus 结合stream流将list中对象多个属性作为map的key
【代码】mybatis plus 结合stream流将list中对象多个属性作为map的key。
2023-09-20 11:54:09
655
1
原创 oracle 分组排序取第一条
所用到的函数是 ROW_NUMBER() OVER (PARTITION BY t.BEGINYEARMONTH,t.ORGID ORDER BY tc.YEARMONTH) RN。解释:Oracle 对特性字段先进行分组,对每组数据进行排序,之后取每一组中的第一条数据。
2023-09-15 16:49:39
2872
原创 帆软报表解决sql获取多选框内容问题
解释:当多选框传入1 2 3 分隔符为’,’ 在sql里拼接完就是’1’,‘2’,‘3’ 也就是说分隔符里的单引号正好和sql的单引号正好包裹起来。注意:sql接收多选框数据时要加单引号。
2023-09-14 11:15:30
831
1
原创 BigDecimal加减乘除
浮点数值不适用于无法接受舍入误差的计算当中,比如金融计算。例如,System.out.println(2.0-1.1)打印的结果为0.8999999999999999,而不是人们想象当中的0.9,这是为什么呢?因为System.out.println()中的数字默认是double类型的,而浮点数值采用二进制系统表示,而在二进制系统中无法精确地表示小数0.1,因此产生了这种舍入误差。就像在十进制当中,无法精确地表示分数1/3一样。
2023-09-13 16:42:10
1710
1
原创 解决BigDecimal 1 除以 3 所得的商无限循环问题
出现这个异常的原因在于 BigDecimal 是不可变的、任意精度的有符号十进制数,所以可以做精确计算。但在除法中,准确的商可能是一个无限长的十进制扩展;例如,1 除以 3 所得的商。我们在做除法时,没有指定舍入模式,并且无法表示为准确的结果,因此抛出了这个异常(java.lang.no exact representable decimal result.异常。这里要根据业务选择合适的方法没有最好的只有最适合的。运算时指定保留两位小数点的方法解决。
2023-09-13 16:36:55
366
1
原创 四史教育自动答题思路讲解(附加Java代码)
一,前言本程序未接入题库,已完成自动答题,默认每道题都选择第一个选项,程序仅供测试。我会分享思路及程序(程序写的比较烂但功能已经实现),推荐大家看完思路自己独立完成一下,我会把文章终点放在思路上,思路也就是结论,但是还有一些问题没有解决,我会在文章最后列举出来,希望能一起解决。二,程序运行结果三,思路1,打开网址http://dxs.moe.gov.cn/zx/xy/gxlb/-wszzczl-gxdjlhd.shtml -》进入答题-》2,二维码地址 https://node2dpublic
2021-03-09 10:26:37
10027
17
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人