自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 问答 (1)
  • 收藏
  • 关注

原创 使用nginx部署vue项目

使用nginx部署vue项目一、安装nginx1、docker-compose安装nginx创建nginx目录docker-compose配置文件nginx配置文件2、启动nginx3、项目打包4、nginx部署一、安装nginx容器化技术是现在的一大热门,所以为了学习容器化工具,选择使用docker-compose来安装nginx。1、docker-compose安装nginx关于docker及docker-compose的安装,可参考另一篇文章docker-compose部署es集群并设置密码

2021-09-18 14:19:12 748 1

原创 springcloud微服务搭建

springcloud微服务搭建springcloud+consul+feign+ribbon搭建一、安装consul二、搭建 Maven项目三、feign调用四、搭建中遇到的问题五、总结springcloud+consul+feign+ribbon搭建由于一些原因,没有使用springcloud alibaba+nacos那一套微服务框架,所以尝试了使用consul这一套。搭建过程中也遇到了一些问题。这次搭建并没有加入网关、链路追踪等技术框架。一、安装consulconsul安装在了腾讯云上面,使

2021-08-04 11:12:05 971

原创 docker-compose部署es集群并设置密码

docker-compose部署es集群部署环境为centos7一、docker安装参考地址:https://docs.docker.com/engine/install/centos/# 1.卸载旧版本sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine # 2.设

2021-07-22 20:47:08 2575 2

转载 Cglib动态代理-MethodInterceptor的简单使用(转载)

最近项目看到同事用了动态代理,自己不是太熟悉就百度了一下,发现挺有用的,现记录下来,方便以后查看。文章主要是用两篇博客的文章拼接起来的。文章地址1-https://my.oschina.net/u/4412687/blog/37426302-https://blog.csdn.net/jiaotuwoaini/article/details/51675684CGLib动态代理特点:使用CGLib实现动态代理,完全不受代理类必须实现接口的限制,而且CGLib底层采用ASM字节码生成框架,使用字节码

2021-03-30 15:44:17 2843

原创 spring使用反射的注意事项

在spring框架下使用反射的时候,我们需要注意一点,也是我最近遇到的一个问题,那就是如果反射的那个类中有注入bean实例的话,使用普通方式的反射会有问题。定义一个类@Service("example")@Transactional(rollbackFor = Exception.class)public class Example { @Resource XxxService xxxService; public void method (String id) { xxx

2021-03-06 16:26:57 292

原创 spring aop的简单使用

最近,有个项目需要完成一个功能,每当数据改变时(简单来说就是对数据进行增删改操作),需要将改变的数据传给其他模块。对于该功能的实现,我思考了两种方式:第一种就是最简单但又最麻烦的方式:在每个增删改方法下增加传递数据的代码。该方式需要在每个方法上增加,比较麻烦而且不易维护,所以自己并没有采用。第二种是使用监听的方式实现。对于能实现监听的方式有多种,但有些实现方式如果要实现监听,需要继承专门的监听类,但是对于这一类监听类都不熟悉,所以最后选择了使用aop的方式实现。使用aop实现方法监听具体操作:定

2021-03-06 16:05:57 110

原创 mysql根据某一字段获取最新一条数据的几种实现

在实际业务中,我们经常会遇到如何从同一个字段相同值中获取最新一条数据的问题。经自身积累以及百度之后,将常用的方法记录下来。具体事例由于使用的表的数据较多,所以只展示了部分数据group by的方式第一种SELECT order_id, max( product_price ) AS product_price FROM oms_order_item GROUP BY order_id得到的结果注意:SELECT id, order_id, max( product_p

2021-02-23 22:32:08 23524 8

原创 一次简单的Java缓存使用

今天在修改同事代码的时候,发现他使用了缓存来进行数据交互。在第一次查询数据时,需要访问数据库进行查询,然后将查询的数据放入缓存中,以id为key值;若是同样的id再次发起相同请求,会先判断是否命中缓存,若是命中,则直接获取缓存中的数据,然后返回,无需再次访问数据库。现将大体的代码实现记录于此:添加缓存 // 给缓存的key值一个前缀 private static final String FORM_CACHE_PREFIX = "FORM_CACHE:"; // 添加缓存 @Res

2021-02-06 17:28:24 331 1

转载 List初始化赋值的几种方式

今天在修改sonar提出的bug,sonar对于list匿名内部类不支持使用。所以百度了一下,了解了list的其他几种初始化方式,现记录一下。1.构造 List 后使用 List.add 初始化List<String> stringList = new LinkedList<>();stringList.add("a");stringList.add("b");stringList.add("c");这种是常规方法,用起来不方便2.使用 {{}} 双括号语法——匿名内

2021-02-05 10:43:33 35808

原创 spring实现判断日期是否为节假日(包括周末)功能

Java没有提供关于节假日的类和方法,也没找到类似的第三方工具类,通过百度,实现该功能大概有四种方法。第一种:使用第三方提供的接口。但是不稳定,如果资源足够,且有时间维护,也可以使用。第二种:使用数据库,创建表,将节假日时间插入表中。优点:利于维护,以及方便临时修改第三种:使用爬虫技术,爬取政府官网节假日安排,并处理(不会)。第四种:使用配置文件(目前使用的是这种方法)使用配置文件方式配置文件使用的是properties文件holiday202011=1,7,8,14,15,21,22,28,

2020-12-28 16:14:42 2653

原创 Java定时任务,quartz简单实现

之前项目需要使用定时任务,所以简要的了解了一下,最后由于公司框架自带了定时任务服务,所以就直接用的公司框架的。在这里只是简单记录一下使用quartz实现定时任务的配置(具体框架为springmvc框架)。使用quartz,需要导入相应的依赖。然后在配置文件中配置相应的属性 <bean id="quartzJob" class="xxx.QuartzConfigTest" /> <!-- 5秒更新 --> <!-- 任务一 --> &l

2020-12-28 15:48:53 231

转载 postgresql学习(一)

趁着工作不是很忙的这段时间,打算系统的学习一下postgresql(主要是看中文文档)。在这里会着重记录一些可能会用到的点。高级特性一.事务事务是所有数据库系统的基础概念。事务最重要的一点是它将多个步骤捆绑成了一个单一的、要么全完成要么全不完成的操作。步骤之间的中间状态对于其他并发事务是不可见的,并且如果有某些错误发生导致事务不能完成,则其中任何一个步骤都不会对数据库造成影响。事务型数据库的另一个重要性质与原子更新的概念紧密相关:当多个事务并发运行时,每一个都不能看到其他事务未完成的修改。事务的全做

2020-12-09 14:31:00 500

转载 postgresql with的简单用法

之前在做项目时,用到了with的递归查询,但是对with基本不了解。所以查了官方文档,现在官方文档关于with用法的说明复制了一份方便自己查看使用。WITH提供了一种方式来书写在一个大型查询中使用的辅助语句。这些语句通常被称为公共表表达式或CTE,它们可以被看成是定义只在一个查询中存在的临时表。在WITH子句中的每一个辅助语句可以是一个SELECT、INSERT、UPDATE或DELETE,并且WITH子句本身也可以被附加到一个主语句,主语句也可以是SELECT、INSERT、UPDATE或DELETE。

2020-12-03 17:24:27 5851

原创 Java接收到的数据库查询所返回的对象为空的情况处理

当查询数据库时,有一种情况,Java接收到的对象可能会导致空指针异常。然而数据库确实存在这条记录。导致这种情况的原因可能是我们查询的字段刚好均为空,所以返回的对象为空。当对该返回对象进行操作时,就会导致空指针异常。解决的方法:在查询的sql上,添加一个不能为空的字段,一般是id。也可以在service层判空。...

2020-10-28 14:28:48 5621

原创 springboot事务的使用

最近进行多表操作时,会使用到事务。但是数据库事务不了解,百度之后,使用框架事务**@Transactional**来进行设置,参考百度,自己觉得使用手动回滚可能好一些,所以目前仅记录一下手动回滚的用法具体用法如下: @Override @Transactional(rollbackFor = Exception.class,transactionManager = "transactionManager") public boolean upsertXxx(Xxx xxx) {

2020-10-12 15:34:46 183

原创 Java后台接收前端传递的数组对象参数的处理

之前有个需求,需要从前端向后台传递一个对象,该对象里不仅含有属性,还包含了一个数组类似对象:Object:{属性1:'',属性2:'',...,children:[{属性3:''},{},...]}这样的一个对象。后台使用一个一对多的实体类进行接收,但报错。(前端使用的是es6,后台使用springboot)类似实体类:public class Xxx1 { private String 属性1; private String 属性2; ... private

2020-10-12 15:13:36 8445 2

原创 关于mybatis插入时获取id问题

关于mybatis插入时获取id问题对于postgreSql,想要获取插入时的自增id,一般会使用useGeneratedKeys=“true”,以及keyProperty进行设置并获取。能否获取到id的值,与keyProperty指定的参数有关;keyProperty指定的参数应该为mapper接口中的相应方法的实体类参数若mapper接口中定义的方法为返回类型 upsertXxx(@Param("xxx") Xxx xxx); // Xxx为某实体类则keyProperty应设置为keyPro

2020-10-12 13:44:32 741

原创 PageHelper分页查询获取条数不一致问题

PageHelper分页查询获取条数不一致问题当遇到查询关系为一对多时,使用PageHelper分页查询,可能会出现实际获取到的条数小于需要获取的条数。原因在于数据库层查询一对多关系表时,是以笛卡尔积的形式返回结果。而PageHelper是通过该结果进行分页,并获取总数的。解决方法百度了很多答案,大概有两种方法,记录一下一、使用两条sql实现该功能1.在代码层面实现,通过调用两个mapper接口,先调用获取主表内容的接口获取主表内容(该实现可用PageHelper实现),遍历id再调用从接口。该方

2020-09-16 17:38:11 2558

原创 org.postgresql.util.PSQLException: 错误: 没有匹配ON CONFLICT说明的唯一或者排除约束

org.postgresql.util.PSQLException: 错误: 没有匹配ON CONFLICT说明的唯一或者排除约束pgSQL使用upsert进行插入或更新操作时,报错: 没有匹配ON CONFLICT说明的唯一或者排除约束。由于进行操作的表包含4个主键,而在conflict中只设置了两个主键,导致报错: 没有匹配ON CONFLICT说明的唯一或者排除约束。解决方法:将4个主键均包含其中,或者取消未包含的主键。具体原因未深入研究,并不知晓。...

2020-09-13 15:07:45 4632

原创 初学MongoDB,一些注意事项

初学MongoDB,一些注意事项一、使用mongoDB需要先配置yml文件spring: data: mongodb:# uri: mongodb://localhost:27017/test database: test host: localhost port: 27017二、创建实体类@Data@Document(collection = "stu")public class Person implements Serializ

2020-07-19 22:43:30 137

原创 Mybatis 使用ON DUPLICATE KEY UPDATE操作数据

Mybatis 使用ON DUPLICATE KEY UPDATE操作数据Mybatis对数据进行插入和更新时,Mybatis提供了ON DUPLICATE KEY UPDATE,可实现一条sql语句同时完成插入或更新操作。判断主键,根据主键进行更新或插入操作具体用法:<insert id="save" parameterType="EduVideo"> insert into edu_video (id, course_id,

2020-07-12 14:48:06 5107 2

原创 报错org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)的一种特殊情况

创建mapper文件时,通过new file来创建.xml文件,手动加上.xml后缀名。若不加上.xml后缀名,IDEA会弹出提示框让选择创建文件的类型,但是通过这种方式创建的文件,后缀名不会显示。在代码运行时会识别不了该文件,然后报错org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)。...

2020-05-31 14:14:40 271

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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