自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

原创 设计模式-装饰器模式

一个实现该接口的抽象类(装饰类的接口)N个装饰类(N种去装饰实现类的增强)

2025-07-02 23:32:48 203

原创 设计模式-责任链模式

责任链模式是在调用类中指定链式关系,并在处理方法中判断是不是自己处理,如果不是则调用getNext方法交给下一个节点来处理。

2025-07-02 23:07:00 177

原创 设计模式-原型模式

原型模式的作用就是降低在创建 对象时的成本,因为创建一个对象可能会传很多参数。一个实现克隆接口的类。

2025-07-02 22:32:45 158

原创 设计模式-享元模式

享元模式的作用就是创建一个工厂,然后给要创建的对象起个名字,我们想要的时候就直接去工厂获取,无需再重新创建一个。

2025-07-02 21:42:26 137

原创 设计模式-外观模式

一个接口,N个实现类,一个外观封装类 将接口里的同一个方法改为多个名字实现类1实现类2装饰器调用类三、总结外观模式是将一个接口方法封装到一起通过多个方法名来表示命令模式是将一个类里的多个不同名的方法分别封装成一个类,然后用一个接口方法来调用

2025-07-01 22:41:22 151

原创 设计模式-适配器模式

适配器模式就是对两个不相关的接口来汇总到一起,调用A接口的方法能触发B行为,所以再创建适配器的时候需要将B传入,然后实现A。

2025-07-01 22:23:15 208

原创 设计模式-桥接模式

桥接模式,处理的是多对多的组合,一层套一层。

2025-07-01 21:51:33 320

原创 设计模式-模板模式

模板模式适用于对一个流程进行封装,这个流程中可能会有多种行为。

2025-07-01 21:13:22 175

原创 设计模式-命令模式

该种设计模式是对 接受类 中的各个方法来进行封装,最终调用同一个方法就能实现不同的效果。

2025-07-01 20:56:54 200

原创 设计模式-观察者模式(发布订阅模式)

一个发布类:里面一个是别人需要订阅的属性,以及用于存储订阅者的list,attach方法是往list集合里面添加元素,notifyObservers通知方法,也就是循环调用订阅者里面的一个方法,这个notifyObservers在set属性的时候调用。一个订阅者抽象类:发布者notifyObservers里面调用的那个方法,外加一个订阅者用于获取里面的内容。N个订阅者:在构造器中将自己注册到发布者集合中,外加一个接口实现内容。

2025-06-30 22:50:01 244

原创 设计模式-访问者模式

所要被访问的类要向外提供一个接收访问对象的方法,然后通过创建目标对象,调用这个方法,并传入访问类的实现类。

2025-06-30 22:12:29 213

原创 设计模式-迭代器模式

一个封装接口的实现类:实现这两个方法,以及定义Iterator和一个list集合。一个迭代器实现类:实现迭代器方法,并定义一个index坐标和list集合。一个用于封装接口:里面有add和getIterator的方法。一个迭代器接口:里面可以定义next和hasNext方法。

2025-06-30 21:12:26 176

原创 设计模式-单例模式

一个用于获取单例的类。

2025-06-30 20:36:10 203

原创 设计模式-代理模式

创建一个接口,让代理类和被代理类都去继承,用户使用的是代理类。

2025-06-30 18:22:35 272

原创 设计模式-备忘录模式

一个记录者类:操作备忘录里的属性,以及创建备忘录。一个管理员类:通过记录者创建备忘录,并将其记录。一个备忘录类:用来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

原创 帆软聚合报表,跨表格获取值

2024-07-03 17:35:48 460

原创 Java操作excel Workbook 修改值后新文件 sum公式不起作用

新文件的sum公式就起作用了。

2024-05-15 08:56:53 284

原创 帆软报表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

原创 【精简】解析xml文件 解决多个同名标签问题 hutool

xpath表达式使我们可以随心所欲的获得到每个指定标签的值。

2023-12-28 11:30:24 978 1

原创 【精简】 Java递归获得指定包下全部类的全类名

Java递归获得指定包下全部类的全类名

2023-12-28 08:50:56 778 1

原创 【精简】Java正则表达式使用模板

【代码】【精简】Java正则表达式使用模板。

2023-12-28 08:40:20 559 1

原创 【精简】mysql创建自定义函数 sql写法举例

二、自定义函数的使用三、效果图

2023-12-20 18:36:28 612 1

原创 帆软报表 分页展示数据每页展示100行 精简易懂

条件属性添加内容为 ROW($$$) % 100 = 0。

2023-11-01 15:11:33 3651

原创 帆软报表报错 Java heap space 精简易懂

Java heap space 也就是Java的oom异常。解决办法调大帆软报表的jvm内存(别杠)调大一点,我这里给了20g。

2023-11-01 14:30:06 670

原创 mysql生成年月日区间

【代码】mysql生成年月日区间。

2023-10-20 10:39:55 316 1

原创 trunc()格式化函数的使用

trunc是数据库中一种格式化函数。

2023-09-26 20:22:02 984

原创 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

原创 springboot默认打包方式是什么?

springboot默认打包方式是jar包。

2023-06-15 16:20:56 236 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关注的人

提示
确定要删除当前文章?
取消 删除