![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
记录学习日常
这个作者很懒,什么都没留下…
展开
-
springboot结合mybatis使用多数据源的方式
至此方式一解决了不同库数据同步问题,但是有个问题需要考虑 ,示例是写一张表,如果写入成百上千张表呢,mapper是不是要double,这里采用动态路由的方式切换数据源,如下。测试结果跟上面一致,但是还会有一个问题:动态切换数据源在表很多的前提下还是会增大系统开销,浪费系统资源。bank2中目前是空的。原创 2024-05-30 16:07:57 · 1128 阅读 · 0 评论 -
with用法(oracle和mysql均支持,mysql版本8以上)
with原创 2022-11-07 17:29:15 · 1339 阅读 · 0 评论 -
Oracle行转列(pivot)和Oracle列转行(unpivot)
oracle 基础原创 2022-11-03 17:39:00 · 10649 阅读 · 0 评论 -
Tomcat启动而且访问慢排查
解决tomcat启动或访问过慢的问题原创 2022-06-17 10:57:40 · 3459 阅读 · 0 评论 -
连接rabbitmq超时问题(自定义、与springboot连用等)
自定义连接工厂通过自定义连接工厂连接时,ip、端口都正确的情况下,连接rabbitmq还是不行,报异常Exception in thread "main" java.util.concurrent.TimeoutException at com.rabbitmq.utility.BlockingCell.get(BlockingCell.java:77) at com.rabbitmq.utility.BlockingCell.uninterruptibleGet(Blocking...原创 2021-05-15 10:16:32 · 11934 阅读 · 6 评论 -
finally不会执行的情况和迷惑行为
try代码块并未执行虚拟机关闭try代码块未执行结束(比如死循环)或者其他方式导致虚拟机关闭(比如守护进程终止)finally都不会执行在try或者catch块中return或者循环中break、continue等等都会最终执行finally...原创 2021-05-10 15:23:52 · 213 阅读 · 0 评论 -
HashSet的实现原理
hashset底层由hashmap实现(泛型key,值object,在hashmap中是present常量对象) hashset的值存放在hashmap的key上 底层hashmap的value都是present对象 部分源码:原创 2021-05-10 10:50:35 · 76 阅读 · 0 评论 -
@Autowired、@Inject、@Resource三者区别
一、@Autowired1、@Autowired是spring自带的注解,通过‘AutowiredAnnotationBeanPostProcessor’ 类实现的依赖注入;2、@Autowired是根据类型进行自动装配的,如果找到多个类型相同的,会按照名称进行匹配,如果名称相同,会报错,如果需要按指定名称进行装配,则需要配合@Qualifier;3、@Autowired有个属性为required,可以配置为false,如果配置为false之后,当没有找到相应bean的时候,系统不会抛错;4转载 2021-05-07 10:40:43 · 602 阅读 · 0 评论 -
java序列化的两种方式以及transient关键字的使用
java序列化是和磁盘进行交互的手段,方式一:实现Serializable接口实现Serializable接口的类中属性将全部会被序列化(属性前未被transient修饰)transient:将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会被序列化,(通过设置对象属性的生命周期仅为内存中实现)未使用transient修饰的User类:import lombok.Data;import java.io.Serializable;/** * @原创 2021-05-06 14:40:28 · 259 阅读 · 1 评论 -
mysql的三种条件判断函数
第一种:if()语法:if(表达式,值1,值2)当表达式的值为真时,返回值1,否则返回值2第二种:ifNull(值1,值2)当值1不为null时,返回值1,否则返回值2对于上面的例子不适合用这种第三种:case 表达式 when 条件1 then 值1when 条件2then 值2 ... else 值n end看语法格式我们会发现此类函数写法上比较麻烦,但其表达的逻辑却最贴近我们日常的思维习惯。当表达式的值和条件1匹配时,返回值1,...以此类推没有条件匹配时...原创 2021-04-27 18:27:54 · 6443 阅读 · 0 评论 -
oracle 中实现java中spilt按照固定格式拆分字符串
java中的split,按照固定的格式拆分成数组oracle 中sql的regexp_substr原创 2021-04-19 13:47:45 · 100 阅读 · 0 评论 -
生成序列结果集sql
场景:号段连续,查询号段间的所有数据,如:00000001~00000100oracle写法前置语法:select rownum from dual connect by rownum <= 100; 得到序列的号段结果集使用rownum和level 效果一致(select level from dual connect by level<= 100)拼接lpad得到结果PostgreSQL写法只是将结果集语法换成(generate_series):select.原创 2021-04-19 11:28:29 · 130 阅读 · 0 评论 -
nacos-server连接本地mysql数据库遇到的问题
本地mysql环境是8.0的版本准备条件大家看过nacos的也肯定知道,本地新建一个nacos_config的数据库,在nacos的conf文件夹下导入sql脚本执行(nacos-mysql.sql)然后在application.properties配置文件中添加本地数据库连接参数第一次使用nacos-server-1.1.3application.propertiesspring.datasource.platform=mysqldb.num=1db.url.0=jdbc:mys原创 2021-04-18 14:08:19 · 3323 阅读 · 0 评论 -
idea中运行war项目
今天拿到一个老项目,普通的web项目,emoss框架搭的(个人不熟悉这个框架,不过不重要,慢慢就熟悉了)记录一下idea跑这个老项目的步骤1.从svn检出检出步骤没什么说的,检出后的项目结构(模块-源中设置了目录)2.更改检出项目结构和启动配置3.添加本地Tomact启动war之后点击应用-确定4.启动运行启动完成后在打开的浏览器中输入登录信息即可,...原创 2021-04-16 16:06:41 · 3857 阅读 · 2 评论 -
Java判断两个集合的元素是否完全相等
第一种:遍历循环for(String str : list) { if(!list1.contains(str)) { return false; }}第二种:使用list中的retainAll方法java 取交集方法retainAll有两个集合A和B,判断这两个集合是否包含相同的对象或元素,可以使用retainAll方法:A.retainAll(B)。如果存在相同元素,A仅保留相同的元素。如果不存在相同元素,A会变为空。总的来说:如果集合A和集合B是完全相同原创 2021-04-14 18:31:05 · 9157 阅读 · 0 评论 -
vue中数字校验
vue中数字校验的方式我用过的有几种第一种:原生的方式 isNaN,isNaN() 函数用于检查其参数是否是非数字值//输入的值校验this.addDepotData.forEach((row) => { if (row.invoiceCode === "" || isNaN(row.invoiceCode)) { this.$message.error("发票代码请输入数字"); flag = false; return false; } if (ro原创 2021-04-14 18:07:00 · 5418 阅读 · 0 评论 -
前端之json对象的使用
前端json,全称:JavaScriptObjectNotation(JavaScript 对象表示法)优点:JSON 比 XML 更小、更快,更易解析。 JSON 是纯文本,JSON 具有层级结构, JSON 可通过 JavaScript 进行解析 JSON 数据可使用 AJAX 进行传输等等实例:myObj = { "name":"baidu", "alexa":10000, "sites": { "site1":"www.baidu....原创 2021-04-10 23:35:33 · 912 阅读 · 0 评论 -
linux系统使用centos7之后的版本,提示命令无法找到
安装完成之后首先想到切换Linux远程连接工具去连接Linux,需要去查看虚拟机的IP,但是当输入ifconfig之后提示无法找到命令此时,需要单独安装(或者7之后使用ip addr 也可查看),处于习惯,我还是安装了插件百度搜索后,ifconfig存在net-tools.x86_64包下,所以使用yum installnet-tools.x86_64 即可还有当使用vim的时候也提示找不到命令也需要单独安装插件yum -y install vim-enhanced安装完成之后v..原创 2021-01-23 17:22:27 · 364 阅读 · 0 评论 -
powerDesigner连接oracle数据库导pdm
powerDesigner我也是第一次用,之前并没有接触,为此我也百度了连接方法,自己捣鼓后也是成功了,避免遗忘还是记录一下连接步骤我是用的同事发的安装包,版本相对老,新版没用过,大差不差吧首先创建一个new model 然后选择model types下的Physical Data Model然后选择,database选项卡 选择配置连接对话框中选择添加连接驱动包下载和配置环境变量自行百度,我就不介绍了填写示例:当出现了 连接成功即可用之后就可以从...原创 2021-01-15 11:21:56 · 415 阅读 · 0 评论 -
swagger基本使用
接口文档或多或少都接触过,但是由于得不到及时更新,导致前后端不能同步保持一致,但是要后端去写一个接口文档又是比较头疼的,(大多数都不愿意亲自写..写过的都知道,真的很浪费时间)有麻烦就会有解决方式,swagger就很好的帮助懒惰的程序员解决了这个烦恼,记录一下我的使用方式idea导入swagger的依赖<dependency> <groupId>com.spring4all</groupId> <artifactId>swagger-sp原创 2021-01-12 16:56:08 · 152 阅读 · 1 评论 -
string数组转long数组
最常用也是最笨的方法相信也知道,遍历转如:也有一种使用apache下的common下的工具类转还有其他的方式,但是我不知道,只记录我知道的原创 2021-01-06 09:51:01 · 421 阅读 · 0 评论 -
idea创建web工程之webapp文件夹不能使用的问题
当创建一个普通的工程时或者springboot项目(本质也是普通的jar项目),或者想使用jsp时,都需要webapp文件夹,但是,直接创建的webapp在idea中是灰色的(不能使用的)最简单的方式将webapp变成可用的(maven)在pom.xml中添加<packaging>war</packaging> 秒变war工程还有另一种方式:在idea中选择项目结构->模块->+->选择web,添加一个web文件夹,选择你创建的w.原创 2021-01-01 11:13:28 · 1548 阅读 · 0 评论 -
关于mybatis的动态sql之where标签去不掉and的情况
熟悉mybatis的都知道,mybatis的动态标签where加载时机是当条件有值的时候,如mybatis的官方文档的介绍一样,mybatis的where相当于以下trim(mybatis官方文档内容)但是最近写代码的时候遇到了问题,分明使用了动态的where标签,但是and或者or就是去不掉,比如:后台sql语句打印出来的and就是去不掉,头疼了好一会,才知道原来是因为注释导致的,mybatis中的条件前加注释的话,解析会认为条件前有值,故而不会去掉and,把注释去掉之后就可以解决..原创 2020-12-31 15:31:41 · 3034 阅读 · 1 评论 -
前台传递list数据后台接收
数据交互时,页面比如有明细这种数据,数据肯定是list(多条的),前台使用的vue等传递的很简单,js这些就需要自己封装成list了vue的方式:如表格明细:@selection-change="绑定方法" 方法中拿到select复选框的数据后台实体中有属性listvue中只需给属性赋值即可【注意:名称要和后台属性名称一致,不然无法绑定】自我总结,有什么更好的方式欢迎告知...原创 2020-12-25 18:56:30 · 1578 阅读 · 0 评论 -
电脑已连接的wifi密码忘记了查看方式
电脑连接过的WiFi密码忘记了,可以这么查看,win+r打开控制台输入 :netsh wlan show profiles 查看所有连接过的WiFi名继续输入:netsh wlan show profiles key="clear" name="wifi名" 查出结果,结果中的【关键 内容】就是wifi密码...原创 2020-12-24 08:51:21 · 249 阅读 · 0 评论 -
数据库默认值null和空值的过滤
记录一下笔记:新建表后插入数据,当某列没有添加空值约束等,插入数据时也没有赋值,此时,数据库会插入默认值null,也就是我们常看到的底纹null如:这种情况的数据可以通过is not null 去过滤 如:SELECT * FROM user where no is not null这种过滤不会过滤空值,比如上图中id=4中的数据,此时name的看起来什么都没有,也不是带底纹的null,他的值是空字符串'',也就是说,用is not null过滤不了这种数据可以在数据中查询一下.原创 2020-12-23 17:43:25 · 2322 阅读 · 0 评论 -
element中form整体校验
整体校验时,提供方法有篇文章写的很详细,引用一下,可以看看https://www.cnblogs.com/qdlhj/p/12332407.html原创 2020-12-14 18:18:56 · 109 阅读 · 1 评论 -
后台实体日期类型是string,前端传递时间之类型转换
当实体对应的日期类型是string时,如果不做处理,前端传递到后台的时间将会被转换成类似“Aug 21 2018 00:00:00 GMT+0800 (中国标准时间)”格式的字符串这种格式的字符串使用SimpleDateFormat类并不能直接转换,类型不对,当然可以使用字符串截取的方式去转换,这种方式并不是这篇文章介绍的重点字符串截取后转换的方式:public final static String FORMAT_STRING = "yyyy-MM-dd HH:mm:ss"; p.原创 2020-12-11 20:33:07 · 1599 阅读 · 0 评论 -
设置p标签,span等标签首行缩进
可以通过属性 text-indent: 30px; 设置首行缩进也可以通过设置 padding-left: 20px 来大致实现原创 2020-12-11 20:17:05 · 2668 阅读 · 0 评论 -
新建一个springboot项目后项目不能启动
新创建一个springboot项目后测试springsecurity的,但是添加springboot的启动器之后启动不了,项目也不报错如:这是因为缺少web启动器,springboot没有找到容器所致,所以在pom.xml中添加依web启动器的依赖即可 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-star.原创 2020-12-08 13:44:16 · 1406 阅读 · 0 评论 -
表的字段和聚合函数连在一起查询需要使用select
-- 有多少条数据,sum就会显示几条select NSRSBH,TRADE_DATE,(select sum(TRADE_TAX) from INTAX_DEDUCT_HX_DATA_DETAILS) as examsumfrom INTAX_DEDUCT_HX_DATA_DETAILS原创 2020-12-04 17:49:02 · 970 阅读 · 0 评论 -
父组件向子组件传递数组等引用类型数据时有时传递不过去的问题
父组件向子组件传递数据时,由于是异步方式,可能父组件的数组数据还没加载完时就向子组件传递数据了,结果显而易见,子组件接收的数据为空解决方式:监听+判断的形式父组件传递XXXoptions是 数组数据,判断数组长度是否大于0,来判断父组件的数组有没有加载成功,加载成功再向子组件传递数据子组件:接收父组件的数据data中定义一个变量接收数组监听数组此时,子组件就能完整的接收父组件传递的值...原创 2020-12-03 19:49:18 · 1295 阅读 · 0 评论 -
oracle中使用max等聚合函数的写法
聚合函数单独使用时查询是没有问题的如:但是当结合表中字段时,使用聚合函数就必须要对查询的字段进行分组没有分组会报not a single-group group function 错误但是当字段很多时,肯定不会对全部查询的字段进行分组的,此时可以使用子查询对聚合函数进行精准过滤比如:查询当前时间的最大值的一条表中的数据sql如下...原创 2020-12-02 20:19:47 · 1967 阅读 · 0 评论 -
mybatis做批量插入时,当数据为null时的处理
当mybatis做批量插入时,插入的字段可能没值,此时不做处理的话,mybatis会报异常,执行失败根据mybatis的官网介绍,此时需要添加对应的jdbcType类型映射,以处理null值mybatis和数据库字段的对应关系 Mybatis JdbcType Oracle MySql JdbcType ARRAY JdbcType BIGINT BIGINT JdbcType BINARY ...原创 2020-11-25 19:41:56 · 6439 阅读 · 1 评论 -
vue父组件传递值给子组件笔记
解释:当前vue页面中调用另一个子组件(多用于公共方法抽成子组件调用,在各个页面中都可使用)子组件定义:<template> <div class="app-container"> <el-tag :type="cssClass"><!--动态的绑定属性--> {{this.dictEntity.dictLabel}} </el-tag> </div></temp原创 2020-11-23 19:36:35 · 143 阅读 · 0 评论 -
vue过滤器取data中的值
取值的最终结果data中定义变量that全局变量,可以调用此页面的所有方法,和data变量,用此种方式可以在过滤器中使用data中的变量create中初始化最后即可正常使用原创 2020-11-23 19:13:48 · 1087 阅读 · 0 评论 -
mybatis表的关系是一对多或者多对一时resultMap的定义方式
数据查询时总会遇到表之间的关联关系,此时可能有的人会想到分两次查询不是也能达到查询一对多或者多对一对效果?方法多种多样,考虑查询效率或者代码量来说,使用resultMap实现一对多或者多对一更具优势,先分析一波:比如:一个查验主表和查验明细表,主表和明细表是一对多或者从对方来看是多对一,一对多时使用<resultMap>标签中的<collection>一对一时使用<resultMap>标签中的<association>,这里不做描述实体原创 2020-11-18 18:47:03 · 216 阅读 · 0 评论 -
el-input等element元素使用v-model绑定值时过滤问题
使用element元素时,有很多场景是需要对后台拿到的数据进行过滤或者格式化的比如:当后台传递到vue中时间转换问题,此时就需要过滤了上代码后台传递的数据,使用mainlist接收后,传递的时间invissuedate绑定到el-input,但是此时数据是后台传递的毫秒值时间或者后台处理过的时间,跟页面展示的时间或许不一致,这种问题就需要结合computed来过滤绑定的值el-input只需要改动调用方法即可...原创 2020-11-18 18:22:15 · 1933 阅读 · 0 评论 -
el-table自定义合并单元格后,单元格错乱的问题
使用element时,当表格需要使用合计行时,可以使用show-summary属性使用element自带的合计行功能,但是当除了有合计行之外还有另一个类似合计行的时候,element自带的显然没法实现,此时就需要自定义合计行的功能如样式:在el-table中:data绑定固定两行的空数据,用来显示合计行和价税统计行然后自定义合并单元格的方法此时会存在单元格错乱的问题如图解决办法,根据element官网介绍需要添加ret...原创 2020-11-16 11:34:00 · 4946 阅读 · 0 评论 -
vue+element监听数组
当el-input框使用v-model绑定的是数组元素时如 v-model="tabelData.name"时tableData: [{ date: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄' },{ date: '2016-05-04', name: '王小虎', address: '上海市普陀区金沙江路 1517 弄' },{ date: '2016-05-01', name: '王小虎', address: '上海市原创 2020-11-13 19:29:47 · 424 阅读 · 0 评论