无论是刚入道的程序员新星,还是精湛沙场多年的程序员老白,都是一如既往的count 目前多数人的写法 多次Review代码时,发现如现现象:业务代码中,需要根据一个或多个条件,查询是否存在记录,不关心有多少条记录。普遍的SQL及代码写法如下: ##### SQL写法: SELECT count(*) FROM table WHERE a = 1 AND b = 2 ##### Java写法: int nums = xxDao.countXxxxByXxx(params); if ( nums > 0 ) { /…

2022-10-17 0条评论 716点热度 0人点赞 admin 阅读全文

iView/ViewDesign中的table表格里有个render函数,可以在单元格中另外渲染组件,现在有个需求,就是渲染出来的Input输入框或者InputNumber数字输入框,需要在获取焦点的时候,自动全部全部文本,可以提高使用者输入的效率。 经过研究,可以使用on监听on-focus事件,在传入的event方法,使用event.target.select()就行了。 详见如下示例: {title: '计划培训人数', key: "planNum", width: 112, align: 'center',…

2022-10-16 0条评论 626点热度 0人点赞 admin 阅读全文

我们知道,如果要替换字符串中完全相同的内容,可以直接使用String.replace(replaceAll)来替换,如果要替换的内容是正则表达式的形式呢? 举个例子,我们在做短信模板的时候,一般有这样的: 恭喜${name}报名成功,请凭报名编号${code}到现场参加活动! 需要替换${xxx}里面的内容,可以使用正则表达式来查找符合${xxx}的内容,然后替换,这就用到了matcher.appendReplacement和matcher.appendTail了。 代码如下: public static void…

2022-10-15 0条评论 762点热度 1人点赞 admin 阅读全文

今天在使用MyBatis时候,someMapper.selectById() 或者其他CRUD时候,抛出异常: aused by: java.lang.IndexOutOfBoundsException: Index: 14, Size: 14 at java.util.ArrayList.rangeCheck(ArrayList.java:659) at java.util.ArrayList.get(ArrayList.java:435) at org.apache.ibatis.executor.result…

2022-10-14 0条评论 893点热度 0人点赞 admin 阅读全文

Java或者SpringBoot项目中,需要将Html(可以是模板引擎例如thymeleaf生成的html)转成图片或者PDF。 如果不是比较复杂的Html(例如Html里没有很多CSS3的语法,flex布局等、背景图,加载js外部css等),那么可以采用一个简单的类库:,因为只需要引入到pom.xml,几行代码就可以搞定生成图片或者PDF的问题了。 使用方法: pom.xml 增加如下依赖(使用的最新版是2.0.1,有很多地方还是显示的0.9版本,最近版本2.0.1在渲染html上要比0.9好很多): <d…

2022-10-13 0条评论 3045点热度 0人点赞 admin 阅读全文

相信很多小伙伴写程序有自己的一套工具类,或者遇到一个功能,会去网上找一些工具类,难免还会引入很多第三方类库,一个是增加了类库之间冲突的风险,另外是增大了整个包的体积。 我们现在很多时候开发框架选择的是SpringBoot,起始SpringBoot自带了很多使用的工具类,下面介绍下: 断言是一个逻辑判断,用于检查不应该发生的情况 Assert 关键字在 JDK1.4 中引入,可通过 JVM 参数-enableassertions开启 SpringBoot 中提供了 Assert 断言工具类,通常用于数据合法性检查 /…

2022-10-12 0条评论 526点热度 0人点赞 admin 阅读全文

写在前面 相信不少开发者在遇到项目对数据进行批量操作的时候,都会有不少的烦恼,尤其是针对数据量极大的情况下,效率问题就直接提上了菜板。 因此,开多线程来执行批量任务是十分重要的一种批量操作思路,其实这种思路实现起来也十分简单,就拿批量更新的操作举例: 整体流程图 步骤 获取需要进行批量更新的大集合A,对大集合进行拆分操作,分成N个小集合A-1 ~ A-N 。 开启线程池,针对集合的大小进行调参,对小集合进行批量更新操作。 对流程进行控制,控制线程执行顺序。 按照指定大小拆分集合的工具类 import com.goo…

2022-10-11 0条评论 576点热度 0人点赞 admin 阅读全文

之前写过文章记录怎么在SpringBoot项目中简单使用定时任务,不过由于要借助cron表达式且都提前定义好放在配置文件里,不能在项目运行中动态修改任务执行时间,实在不太灵活。 经过网上搜索学习后,特此记录如何在SpringBoot项目中实现动态定时任务。 因为只是一个demo,所以只引入了需要的依赖: <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifac…

2022-10-10 0条评论 640点热度 0人点赞 admin 阅读全文

在使用Apache POI处理Excel的时候,应用部署到Linux后,遇到一个报错,如下: Caused by: java.lang.NullPointerException at java.desktop/sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1262) at java.desktop/sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:225) …

2022-10-09 0条评论 884点热度 0人点赞 admin 阅读全文

在Spring Boot中,在读取yml或者properties的配置文件值,如果使用@Value注解对属性进行赋值,但如果在配置文件或启动参数中未指定对应的参数值,则会抛出异常。异常信息往往是对应注入属性的类实例化失败。 我们希望如果配置文件没有设置,能读到一个默认值,不会导致程序出错。 此时,需要对@Value对应的值进行配置,或设置默认值。设置方法如下: @RestController public class ConfigController { // ①未指定默认值 @Value("${user.user…

2022-10-08 0条评论 1229点热度 0人点赞 admin 阅读全文
1151617181985