
java
wyljz
想着,做着,学着,活着
展开
-
centos8中安装postgres10,修改端口和初始化密码
centos8中安装postgres10,修改端口和初始化密码原创 2022-10-26 11:23:04 · 1817 阅读 · 1 评论 -
计算从指定日期开始的第几周的周几的日期
计算从指定日期开始的第几周的周几的日期原创 2022-10-17 17:02:52 · 486 阅读 · 0 评论 -
修改jar包内容
修改jar包原创 2022-07-14 16:46:05 · 6232 阅读 · 0 评论 -
java反射赋值时字段类型的转换
java反射,强制类型转换,赋值原创 2022-07-09 17:04:24 · 1851 阅读 · 0 评论 -
poi 解析excel 以及Function<T,R>的使用
使用poi解析excel,日期内容的处理,以及方法作为参数的使用原创 2022-05-14 15:25:51 · 436 阅读 · 0 评论 -
微信公众号h5使用jsapi支付
微信公众号h5完成支付的前后端实现原创 2022-05-06 10:57:03 · 649 阅读 · 0 评论 -
mybatisplus中updatewrapper的使用备忘
UpdateWrapper<WxMsg> wrapper = new UpdateWrapper<>(); wrapper.lambda().set(WxMsg::getCallBackStatus, status) .set(WxMsg::getCallBackSuccess, status.equals("success") ? true : false) .eq(WxMsg::getMsgId, .原创 2022-04-26 11:42:35 · 2057 阅读 · 0 评论 -
基于jeecgboot发送短信的修改,保存短信结果
短信平台使用的是阿里云的短信服务,jeecgboot已集成短信发送功能,但没有保存短信结果,不方便一些业务的统计新建一个短信结果对象@Datapublic class SmsResult implements Serializable { private String mobile; private Boolean success; private String code; private String message; private String reque原创 2022-04-02 11:42:11 · 1275 阅读 · 0 评论 -
计算时间差,不足整小时按整小时算
@Override public Integer computHours(DateVo vo) throws ParseException { //如果不足一个小时,按一个小时计算,如果超出整小时部分,加1 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm"); String beginStr = String.format("%s %s", vo.getMeetD原创 2022-03-26 15:59:32 · 1454 阅读 · 0 评论 -
使用redis 加锁的方式生成订单号
建一个订单对象/** * 订单号 对象 */@Datapublic class OrderNumberVo implements Serializable { /** * 日期字符串 格式:"yyyyMMdd" */ private String meetDate; /** * 计数id */ private Integer id; /** * 订单号 格式:"yyyyMMddXXX1" */原创 2022-03-26 11:16:21 · 2297 阅读 · 1 评论 -
mybatis 批量添加或更新
用于批量添加或更新计数数字,表中需要设置唯一索引,insert时出现重复键错误时就执行update,需要手工生成id表结构:索引:mapper xml: <insert id="updateBatch"> insert into sx_count(id,room_id,time_id,video_id,week,count_date,nums) values <foreach collection="list" item="cou原创 2022-02-14 11:28:44 · 1649 阅读 · 0 评论 -
springboot+websocket+vue浏览器视频备忘
首先,设置websocket可接收内容大小,默认的设置太小,前端截取的视频转字符串传不了,会报错:WebSocket is already in CLOSING or CLOSED state.百度后,找到的springboot下设置的方法,测试可以使用@Configurationpublic class WebSocketConfig implements ServletContextInitializer { /** * 注入ServerEndpointExporter,原创 2021-12-02 16:26:17 · 377 阅读 · 0 评论 -
折腾调试环境小结
项目中用到了linux环境下的so,需要linux环境调试,开始了折腾之旅。先是尝试wsl,又尝试docker,百度出来的千篇一律,基本都不能按着直接整出来,好不容易摸索着弄成了,idea编译又太过缓慢,无奈放弃。最后选择了虚拟机+ubuntu的方式。ubuntu直接安装成带图形界面gnome的,idea需要图形界面才能跑起来。ubuntu中安装 open-ssh(大致是这个名字) jdk,idea,maven,svn,签出项目,跑下试试,能正常跑起来后,windows里用软件MobaXterm来登录原创 2021-10-29 10:54:52 · 231 阅读 · 0 评论 -
druid1.2.6连接sqlserver时出现错误: validateConnection false
需要加个验证:spring.datasource.druid.validation-query=select 'x'项目中是动态的数据源,因此代码中更改一下:DruidDataSource dataSource = new DruidDataSource(); String driverClassName = dbSource.getDbDriver(); String url = dbSource.getDbUrl(); String dbUser原创 2021-09-09 11:45:59 · 1442 阅读 · 0 评论 -
list.stream 取差集
//数据源中的数据 List<Map<String, Object>> list = dbActService.getPage(mapSet, app, mapItemList, null, null, null, null, null);// for (int i = 0; i < list.size(); i++) {// log.info("{}={}",i,list.get(i));/..原创 2021-09-08 17:14:43 · 1612 阅读 · 0 评论 -
mybatis+postgresql创建表,插入数组和jsonb数据
建表mapper: <update id="createTable"> create table ${tableName}( id varchar(32) primary key , key_id text[], err_flag boolean, err_msg varchar(3000), content jsonb, create_time timestamp(6)原创 2021-09-07 17:35:46 · 2091 阅读 · 0 评论 -
mybatis 建表,支持sql中有分号
配置文件修改为支持sql中加 ";"的路径:spring.datasource.dynamic.druid加配置项: wall: multi-statement-allow: truejdbc连接中加 allowMultiQueries=true url: jdbc:postgresql://localhost:5432/dbr?allowMultiQueries=truemapper中:void createTable(@Param("sql")Stri原创 2021-08-23 15:23:43 · 760 阅读 · 0 评论 -
mybatisplus group by 归组
QueryWrapper<MetaItem> wrapper = new QueryWrapper<MetaItem>() .select("set_id,count(0) as field_count") .in("set_id",setids) .groupBy("set_id"); List<Map<String,Object>> list.原创 2021-08-21 10:44:51 · 31332 阅读 · 5 评论 -
jeecgboot改造:枚举加入字典,控制器返回列表翻译字典
jeecgboot版本:2.4.5虽然jeecg提供了数据字典功能,使用很方便,但在实际业务中,有根据不同值编写不同代码进行操作的需求,如果将这些代码写进数据字典中,那么字典值一旦被人修改,就会使代码运行不正常。使用枚举,就是为了避免此类问题,经尝试,改了些代码后,将枚举项的使用与数据字典一致化,使用起来会方便些。枚举加入字典的方法修改 SysDictServiceImpl.getDictItems@Override public List<DictModel> getDictI原创 2021-08-17 11:23:37 · 2534 阅读 · 1 评论 -
axios发送两次请求的解决
后端是springboot ,过滤掉 OPTIONS 类型的访问就可以了public class JwtInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object object) throws Exception {原创 2021-07-16 16:46:20 · 330 阅读 · 0 评论 -
mybatisplus and 和 or 组合条件
queryWrapper.and(e->e.like(FlowableFormResource::getName, flowableFormResourceParam.getSrhKey()).or().like(FlowableFormResource::getCode,flowableFormResourceParam.getSrhKey()) .or().in(FlowableFormResource::getId,flowableFormResourc.原创 2021-06-18 09:35:06 · 2631 阅读 · 0 评论 -
mybatisplus在xml中使用wrapper备忘
mapper:IPage<PurchasePlan> listWithZj(Page page, @Param(Constants.WRAPPER) Wrapper<PurchasePlan> wrapper);xml: <select id="listWithZj" resultType="org.jeecg.modules.gz.purchase.entity.PurchasePlan"> select a.*,case when b.proj原创 2021-03-26 11:24:06 · 2937 阅读 · 0 评论 -
mybatisplus生成Id代码备忘
一般都是定义实体类中id加个id生成规则,在插入数据库时就会自动创建一个id,特殊情况下,就需要调用代码手动创建了。 public String createId() { IdentifierGenerator identifierGenerator = new DefaultIdentifierGenerator(); this.id = identifierGenerator.nextId(new Object()).toString(); ret原创 2021-03-18 16:33:11 · 396 阅读 · 0 评论 -
mybatis in 查询备忘
<select id="listByIds" resultType="org.jeecg.modules.gz.system.entity.SysUser"> select id,userName,realName from sys_user where id in <choose> <when test="ids!=null and ids.size()>0"> .原创 2021-02-25 10:27:52 · 244 阅读 · 0 评论 -
java+vue+onlyoffice的简单集成
完成了springboot+vue+onlyoffice的集成,实现用户上传文件,编辑文件的基本操作。后续将完成协作编辑,版本管理,文件加密,解密打开等相关操作。文件界面实例图:1、部署onlyoffice的dockerdocker run -i -t -d --name onlyoffice --privileged -p 9999:80 -p 5432:5432 --restart=always -v /e/publish/onlyoffice/DocumentServer/logs:/原创 2021-02-23 17:10:47 · 20152 阅读 · 17 评论 -
flowable节点任务完成后使用脚本获取节点表单控件值
节点完成后有两个方法获取到节点表单的控件值,一个是在节点加任务监听器,一个是用脚本,然后加全局任务监听器。任务监听器:@Slf4jpublic class LYOverListener implements TaskListener { @Override public void notify(DelegateTask delegateTask) { ProcessEngine processEngine = ProcessEngines.getDefaultProce原创 2021-02-03 11:21:31 · 3262 阅读 · 0 评论 -
mybatis执行原生sql,动态传参
mapper和xml int add(@Param("sql") String sql, @Param("param") Map<String, Object> p); <insert id="add" parameterType="hashmap"> ${sql} </insert>使用: @Test public void testAdd(){ IdentifierGenerator identifi原创 2021-02-01 10:03:51 · 1335 阅读 · 0 评论 -
流程表单增加子表,合计项,预置数据源
基于jeecgboot开源框架,添加了flowable做工作流,KFormDesign做自定义表单设计。实现效果如图:新增表单预置数据配置功能,分四个数据类型:1、当前登录用户属性;2、数据字典;3、分类字典;4、Api地址,用其字段名称给表单控件/动态数据源命名,生成表单时解析出相应的命名控件,为其赋值、设置数据源。对KFormDesign进行的修改包含下列文件:KBatch/batch.vue 动态表格控件KBatch/module/KFormModelI原创 2021-01-25 14:59:51 · 690 阅读 · 0 评论 -
springboot枚举值作为字典向前端提供数据
枚举类型没有空的构造函数,没法在启动时用扫描器扫描注册成bean,没找到只扫描不注册的方法.继承了ImportBeanDefinitionRegistrar,ClassPathBeanDefinitionScanner的自定义扫描器完成对自定义注解的扫描后就会注册bean,就报错了"Consider defining a bean of type 'java.lang.String' in your configuration",应该是因为枚举类型没有空的构造函数所致.改为在启动后扫描class文件,读原创 2021-01-19 17:53:13 · 1305 阅读 · 0 评论 -
docker 部署springboot+redis
win10系统,下载安装docker desktop拉取redis,nginx镜像docker pull redig:latestdocker pull nginx:latest创建jdk镜像拉取centos镜像docker pull centos:latest新建目录 dockerimage,在目录中新建DockerfileFROM centos:latest MAINTAINER wyl 277420985@qq.comADD jdk-linux-x64.tar.gz /us原创 2021-01-14 17:55:46 · 508 阅读 · 0 评论 -
springboot集成flowable的mybatisplus 配置
mybatis-plus: mapper-locations: classpath*:org/jeecg/modules/**/xml/*Mapper.xml,classpath*:org/jeecg/modules/**/mapping/*Mapper.xml,classpath:/META-INF/modeler-mybatis-mappings/*.xml configuration-properties: prefix: blobType: BLOB boolValu原创 2021-01-05 09:56:47 · 2063 阅读 · 0 评论 -
springboot 集成flowable去除权限认证
参考地址/*** 单体启动类(采用此类启动项目为单体模式)*/@Slf4j//排除flowable带的权限认证@SpringBootApplication(exclude = {SecurityAutoConfiguration.class, org.springframework.boot.actuate.autoconfigure.security.servlet.ManagementWebSecurityAutoConfiguration.class})public cl原创 2021-01-04 17:58:00 · 2539 阅读 · 0 评论 -
检查文件日期,符合条件的文件复制到目标位置
@RunWith(SpringRunner.class)@Slf4jpublic class CopyFile { @Test public void getNewFile() { String path = "E:\\work\\src"; String dstPath = "E:\\work\\dst"; String date = "2020-12-15"; List<String> exclude =原创 2020-12-15 17:22:58 · 127 阅读 · 0 评论 -
list.forEach,给列表中对象设置自增序号
int index=1; private void setIndex(PcItemVo vo){ vo.setIndex(index); index++; } List<PcItemVo> list = payItemService.getList(pcId); list.forEach(this::setIndex);定义一个方法来自增赋值,将方法传给forEach,当然是对象中有个属性是 index 才行...原创 2020-12-04 15:37:42 · 5639 阅读 · 0 评论 -
java 取当月起始日期,取出每一天
Calendar cale = Calendar.getInstance(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); String firstday, lastday; cale.set(Calendar.DAY_OF_MONTH, 1); firstday = format.format(cale.getTime()); cale.set(.原创 2020-11-26 10:08:21 · 831 阅读 · 0 评论 -
mybatisplus update null
@TableField( updateStrategy = FieldStrategy.IGNORED) private String disReason;需在字段上加个忽略注解,才会将null值update到数据库中原创 2020-11-24 10:32:46 · 1216 阅读 · 0 评论 -
list.stream 字符串转数字 sum
.stream().map(AssessRec::getScore).mapToInt(Integer::parseInt).sum()列表中对象属性是字符串,转成数字,然后汇总原创 2020-11-20 16:49:55 · 2541 阅读 · 0 评论 -
mybatis collection 多条件查询
vo 类:@Datapublic class QuestAnswerTitleVo implements Serializable { private static final long serialVersionUID = 1L; private String questTitleId; private String examTitleId; private String examTitle; private String type; private原创 2020-11-07 14:46:34 · 2336 阅读 · 0 评论 -
springboot 线程池
1、在启动类上加标记 @EnableAsync@Slf4j@SpringBootApplication(exclude={DataSourceAutoConfiguration.class})@EnableAsyncpublic class MyApplication extends SpringBootServletInitializer {2、定义一个配置文件,取自 https://github.com/zq2599 中的一个,但不记得具体是哪个了import org.slf4j.Logg原创 2020-10-28 10:31:14 · 490 阅读 · 0 评论 -
mybatisplus 对类的扩展属性的查询
定义的实体类,是与数据库关联的,单表操作没有问题,需要多表统计时,对该类进行了扩展,加了几个属性vo类:@Datapublic class BatchVo implements Serializable { private static final long serialVersionUID = 1L; private BatchNum pc; private String stuNumsTotal; private String stuNumsExam;原创 2020-10-24 16:40:58 · 850 阅读 · 1 评论