- 博客(25)
- 收藏
- 关注
原创 oracle和db2通用批量新增、更新的方法(基于merge into)
oracle和db2通用批量新增、更新的方法(基于merge into)
2022-08-04 19:57:56 1580 1
原创 通过切面动态切换数据源
标题业务场景:大量的项目的数据库需要从db2迁移到oracle,为项目上线后出现不可预料的错误可及时回退,需要可以随时切换数据源
2022-05-12 17:01:05 593
原创 spring boot-@Validated参数校验-自定义注解(不为空才进行正则校验)
通过自定义注解,满足不为空才进行正则校验的需求import javax.validation.Constraint;import javax.validation.ConstraintValidator;import javax.validation.ConstraintValidatorContext;import javax.validation.Payload;import java.lang.annotation.*;/** * @author LGQ * @Title: 校验注解
2021-09-29 16:21:09 2730
原创 java类转换工具
import org.dozer.DozerBeanMapper;import org.dozer.Mapper;import java.util.ArrayList;import java.util.List;public class DozerUtil { private DozerUtil(){} static Mapper mapper = new DozerBeanMapper(); public static <D, E> E trans(
2021-09-23 16:48:04 139
原创 springboot整合jsr303校验规则
1.pom引入 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> </dependency>2.实体类定义校验规则public class User { @NotEmpty(message = "不能为空") private Str
2021-09-13 16:59:56 116
原创 mybatis-plus代码自动构建
依赖引入<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.4.1</version></dependency><!-- 使用什么引擎模板 要引用对应依赖 --><dependency> &
2021-09-13 10:43:42 330
原创 json和对象转换工具类
import com.fasterxml.jackson.core.JsonProcessingException;import com.fasterxml.jackson.databind.ObjectMapper;import com.jt.pojo.Item;import com.jt.pojo.ItemDesc;import com.sun.corba.se.spi.ior.IORTemplate;/** * 该工具类,主要的功能实现对象与JSON串的互相转化. * 1.对象转化为J
2021-08-24 10:34:05 311
原创 关于davinci的定时任务
需要配置chromedriver,修改config目录下的application.yml文件chromedriver的版本一定要与Chrome的版本一致,不然就不起作用。有两个下载地址:1、http://chromedriver.storage.googleapis.com/index.html2、https://npm.taobao.org/mirrors/chromedriver/当然,你首先需要查看你的Chrome版本,在浏览器中输入chrome://version/...
2021-08-19 10:15:45 183
原创 davinci的使用和部署
davinci的使用和部署davinci的下载davinci项目地址:github地址项目下载从GitHub上录取代码,目录如下bin目录:数据库初始化脚本、davinci服务启动脚本config:配置文件目录server:后台服务java目录webapp:前端目录插件phantomjs下载下载地址:phantomjs官网下载地址选择相应版本下载初始化数据库,建库后运行bin目录下的初始化sql文件。davinci的配置前端打包在webapp目录下,开启D
2021-08-18 10:48:52 2366
原创 登录拦截以及拦截后指定页面跳转
登录拦截以及拦截后指定页面跳转目的:1、防止未登录用户也可以查看后台数据页面2、防止访问数据页面拦截后停留在空白页思路:拦截器+异常处理类+自定义异常(对未登录的用户进行拦截,然后抛出异常,通过异常处理类,重定向到登陆页面)拦截器代码实现public class MyInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, Ht
2021-08-05 10:36:17 4694
原创 关于react打开新窗口展示本地pdf问题
一开始,我以为react和普通的html相同,可以通过a标签在href中引入文件的绝对路径就可以,后来发现调试窗口显示不被允许操作本地资源。在网上找了好多相关的教程以及讨论,并且尝试之后,发现一种可行的方案。那就是引入react-pdf-js这个组件库。代码如下:import PDF from 'react-pdf-js'const PDFTest = require('F:/test/ecr/20201118/testoone2.pdf');@Form.create()class Pdf
2021-02-23 17:13:46 2000
原创 查询数据,转JSON,写入txt
任务分析:把数据库中一张表的数据以json的格式写入txt文件表分析:这里BANK_CODE和VERSION是固定值ITEM_ID、ITEM_NAME、ITEM_DESC三个字段是相互对应的,ITEM_ID如果一样,则后面两个字段值也一样。ITEM_DATA又很多不同的值。部分数据展示JSON格式要求实体类设计分析数据库中前两个字段在JSON中只出现一次,而后面的字段会根据ITEM_ID的值的不同决定在data中出现的次数。所以前两个字段相对于后面的字段是独立的,就没必要写入实体
2021-01-29 10:30:56 179
原创 K个最近的点-----领扣
题目:给定一些 points 和一个 origin,从 points 中找到 k 个离 origin 最近的点。按照距离由小到大返回。如果两个点有相同距离,则按照x值来排序;若x值也相同,就再按照y值排序。样例例1:输入: points = [[4,6],[4,7],[4,4],[2,5],[1,1]], origin = [0, 0], k = 3输出: [[1,1],[2,5],[4,4]]例2:输入: points = [[0,0],[0,9]], origin = [3, 1], k =
2021-01-21 09:18:17 170
原创 ant-design table添加删除按钮
基于Ant Design实战教程,做的一个删除新增功能的小页面Ant Design实战教程地址https://www.yuque.com/ant-design/course1、按照教程搭建项目,将表格做好后,效果此时,新增按钮可以正常工作,如图2、在表格中新增一列,添加删除按钮,在src/page/list/index.js中columns中添加如下代码{ title: 'action', render:(text, record)=> { return (<but
2020-12-10 15:16:47 3777 5
原创 初识Mybatis
什么是MybatisMyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注SQL本身,而不需要花费精力去处理例如注册驱动、创建connection、创建statement、手动设置参数、结果集检索等jdbc繁杂的过程代码。Mybatis架构图mybatis-config.xml是Mybatis的核心配置文件,通过其中的配置可以生成SqlSessionFactory,也就是SqlSession工厂基于SqlSessionFactory可以生成SqlSess
2020-08-22 19:56:47 112
原创 嵌入式Linux进程间通信 IPC
嵌入式Linux多任务:线程、进程硬件条件:单个CPU单个核单任务:一个任务执行完毕之后,下个任务才能执行;多任务:任务的执行可以被中断,终端之后可以执行其他任务;(并发/并行)单核CPU:并发多核CPU:并发、并行进程实现多任务;特点:给每个进程分配独立的地址空间,4G的大小(1G内核,3G用户空间:栈、堆、数据段、代码段);互不干扰进程创建方式:fork >exec函数...
2020-04-19 17:54:43 405
原创 嵌入式Linux系统调用函数
嵌入式Linux系统开发:通过内核提供的服务实现相应功能1、Linux系统构成:用户空间、内核空间划分空间的目的:保护内核空间不饿能被用户空间随便访问2、用户如何访问内核空间?系统调用:内核提供的安全访问机制;硬件中断、软件中断作用:使用户空间可以访问内核空间并获取权限3、用户如何发送系统调用?调用系统提供的函数接口 API:用户编程接口...
2020-04-06 08:47:21 405
原创 嵌入式开发工具2
gcc工程管理器1、变量(1)通过“=”来实现例如:a1= $(a2)a2= $(a3)a3= a.o这种方式下变量a1的值是a.o,也就是说前面的变量可以通过后面的变量来定义。(2)通过“:=”来实现例如:a1:= a.oa2:= $(a1) b.o这种方式下变量a1的值是a.o,变量a2的值是a.o b.o。例如:a1:= $(a2) b.oa2:= a.o这种...
2020-03-29 15:08:58 110
原创 嵌入式开发工具
嵌入式Linux开发工具文本编辑器vim学习目标:掌握vim基础使用,学会如何配置vim;/etc/vim/vimrcIDE:vscode编译器gcc学习目标:gcc编译选项;静态库和动态库的制作和使用调试器:gdb1、GNU计划的工具;内核调试KGDB2、程序错误的分类:编译时错误(语法错误)、运行时错误(内存错误、逻辑错误)3、gdb的功能:①运行程序②设置断点③查看变量的值...
2020-03-21 19:57:36 84
原创 静态库和动态库的制作和使用
嵌入式linux开发工具编译器:gcc(GNU cc)1、gcc特点:GNU工具、交叉编译器交叉编译:在当前cpu平台下编译出其他cpu平台可执行的代码源文件到可执行文件有哪些步骤?预处理—>编译—>汇编—>链接预处理:头文件展开,宏替换, gcc -E...
2020-03-15 22:16:46 166
原创 20条简单linux命令
1、date: 显示当前的时间2、cal 目标年份:显示目标年份的日历3、logout:注销用户4、shutdown -h now:立刻关机5、reboot: 重启6、df -h:查看磁盘使用量7、bc: 进行运算8、file 文件名:显示文件类型9、last :用于查看所有系统的登录记录10、history :用于显示历史执行过的命令11、who :用于查看当前登入主机的用户...
2020-03-09 20:27:54 174
原创 嵌入式开发
学习总结一丶嵌入式开发概述1.嵌入式技术是什么?在已有的硬件上移植操作系统,在操作系统之上做上层应用开发,在操作系统之下做底层开发2.嵌入式软件与非嵌入软件的区别?嵌入式软件是结合操作系统做的开发 ,非嵌入软件做的裸机(没有操作系统)开发3.嵌入式开发与单片机开发的区别?传统开发又叫单片机开发,传统开发的缺点有两个:第一,软件的可移植性差。第二,软件开发人员必须懂硬件的工作原理。...
2020-03-07 22:32:50 383
原创 Linux的学习
嵌入式Linux操作系统Linux介绍、使用Linux操作(命令)、Linux开发工具一、1.安装Linux开发环境:vm虚拟机(通过软件的方法模拟pc)为什么不选择双系统?(嵌入式卡方法与内核交互,会导致系统崩溃)Linux(发行给用户使用版本):redhat(centos7)、ubuntu、deepin如何安装? 自行百度2.Linux介绍(posix、GPL、GNU)19...
2020-03-07 22:31:56 153
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人