java
要么出众,要么出局
太在意别人的看法,反而会失去自己。你那么优秀,何必那么在乎别人?自私一点不好吗?
展开
-
Java程序try catch后,程序怎么执行
工作许久,许多情况下,对于异常的处理都是直接throw,或者catch后,直接打印e.printStackTrace()堆栈信息。那么我们捕获异常后程序到底怎么执行呢?我的猜测是,捕获就相当于处理了异常,那么执行就应该正常执行,也就是会正常执行完,如果有返回值就正常返回。测试代码如下: /** * 测试捕获异常后,程序执行顺序 */ @Test public void testException() { int a; try {原创 2022-05-05 10:53:15 · 1106 阅读 · 0 评论 -
java向es中写入数据报错org.elasticsearch.action.ActionRequestValidationException
java操作es写入数据报错如下:org.elasticsearch.action.ActionRequestValidationException: Validation Failed: 1: type is missing;2: type is missing;3: type is missing;4: type is missing;5: type is missing;6: type is missing;7: type is missing;8: type is missing;9: type原创 2020-12-07 16:19:37 · 8426 阅读 · 0 评论 -
重学java之——注解与反射
在学完诸多主流的的框架之后,逐步开始阅读框架的源码,但发现在阅读的过程中,有很多地方看不明白,查阅之后才明白其实是对java的基础了解的并不透彻,于是又重新回头学习框架中用到的比较多的技术点注解与反射。这篇文章主要记录自定义注解,及使用反射获取注解,属于学习笔记以及为初学的小伙伴提供一些思路,高手勿喷。下面正式开始:自定义注解使用注解模拟数据库表@Target:指定注解在哪里使用,如ElementType.TYPE:则指定此注解在类上使用,类、接口(包括注解类型)或枚举声明Element原创 2020-11-30 00:11:33 · 181 阅读 · 0 评论 -
springboot创建子项目常见问题
开发工具:idea方法:父项目上右键->New->Module,如下图选择maven项目,Next填写包名,项目名,Next之后点击Finsh完成项目创建常见问题1:创建完项目之后,不能运行,只是一个普通的文件夹(最直观的体现为没有右下角的蓝色小图标)解决:idea后侧选择maven窗口,点击对应的项目,点击右上角的+号,选择项目对应的pom.xml文件常见问题2:没有启动类,由于我不是创建的springboot项目,所以没有自动生成Applicati原创 2020-09-04 11:15:45 · 704 阅读 · 0 评论 -
maven编译报错:Failed to execute goal on project问题原因解析
maven项目执行compile,报Failed to execute goal on project XXX:could not resolve dependencies for project.原因:很简单,对应的的jar没有下载下来。这时候很多人会说了,网络不好,jar包没有下载下来,确实有时候是会因为这个原因而导致compile报错。但我所遇到的并不是,而且可能是比这种问题更低级的问题。因为我在pom.xml中把导入依赖写错了(其实不是我写的,是自动导入的,但是就是错了)。解决:删除无用原创 2020-08-14 11:20:52 · 21983 阅读 · 0 评论 -
springboot项目test文夹下带main方法的类不能运行
这几天在使用mp的时候,需要手动指定生成 实体类的数据库表,于是就手动创建了一个test文件夹(以前创建springboot项目都是直接带着test文件夹的,但这次的不知道为什么没有),然后将之前的generator.java生成类直接复制过来了,这是一个带main方法的类,正常情况下是可以直接run的,但我的却不能运行,并且报一个橘黄色的标志。后来查阅资料得知,大概原因没有在idea中指定文件夹的功能,所以不能运行main方法。具体操作如下:点击OK之后,main方法就可以运行了。...原创 2020-08-04 11:09:48 · 4275 阅读 · 0 评论 -
mybatis plus查询条件传对象时,报没有get方法问题的原因及解决(there is no getter for property name)
在使用mybatis plus的过程中遇到一个坑(不确定mybatis是否也有这样的问题,没有进行测试),查询对象不起别名直接传到xml文件中会找不到这个对象,实际上是这把这个对象当作属性去处理了,会报there is no getter for property name...的异常。如下图所示mapper类:public interface UserMapper extends BaseMapper<User> { List<User> list(UserSea原创 2020-07-24 16:46:07 · 3082 阅读 · 2 评论 -
mysql中case when的应用(几个简单的小例子)
开发中经常遇到要根据查询结果显示不同的结果,这时候我们可以使用Mysql的case when来实现,类似于java中的switch语句,两种功能简单函数和搜索函数,废话少说,直接上代码了,简单函数场景:数据库表性别字段存储的为1或2,但前端显示时为男或女SELECT u.*,CASE u.genderWHEN 1 THEN '男'WHEN 2 THEN '女'END sexFROM t_users u搜索函数场景:列表返回时需要根据年龄去判断处于人生的哪个阶段SELEC原创 2020-07-08 18:26:51 · 582 阅读 · 0 评论 -
java前后端日期时间交互,UTC转LocalDateTime
UTC:协调世界时,又称世界统一时间、世界标准时间、国际协调时间。LocalDateTime是java8新增的一种时间类型转换思路,先将UTC格式的时间转换成Date类型的,然后将Date类型的时间转换成LocalDateTime类型的。public static LocalDateTime utcToLocalDateTime(String utcTime){ Si...原创 2020-03-12 17:45:07 · 3803 阅读 · 0 评论 -
mybatis根据传入的表名实现增删改查
这几天在做开发的过程中,遇到一个问题,对数据进行CRUD操作时需要将表名传入(分版本,表设计一样,表名不同)。这样比如我们要进行一个修改操作,就要传入表名及修改的对象。一上来有点懵,不知从何处下手。于是翻了一下当初学习mybatis的笔记,自己根据经验试了下,成功了,特做总结。首先说一下$和#取变更的区别,简单说就是$不能防止SQL注入,常用于取表名。#能防止SQL注入,原理的话就不在此处讲了...原创 2020-01-02 11:24:53 · 695 阅读 · 3 评论 -
springboot项目mysql-connector-java默认版本查看方法
com.mysql.jdbc.Driver 是 mysql-connector-java 5中的,com.mysql.cj.jdbc.Driver 是 mysql-connector-java 6中的当在项目加入mysql-connector-java的依赖,但却不指定版本的时候,springboot是默认为我们指定了一个版本的。查看方式具体如下:按住ctrl点击pox文件中如下图所示的路...原创 2019-11-08 16:31:26 · 12884 阅读 · 4 评论 -
SpringBoot整合MybatisPlus出现的错误:java.lang.IllegalArgumentException: Must specify at least one profile
最近在开发的过程中用到了mybatisPlus,由于其简单易用的特性,让我忍不住想要了解一下。于是在自己的电脑上进行了springboot整合mybatisPlus的操作,果不其然,看似简单的东西,却足足耗费了我3个小时的时间。在我整合的过程中一直报java.lang.IllegalArgumentException: Must specify at least one profile这个错误,看...原创 2019-10-21 18:04:43 · 5293 阅读 · 1 评论 -
java设计模式之代理模式
代理模式用的地方比较多,最为熟知的就是spring框架。今天我们就来聊一聊代理模式,首先代理模式分为静态代理和动态代理。说下代理模式的思想:抽象对象(抽象父类或接口):需要完成的功能被代理对象:隐藏起来的对象代理对象:显露给其它人的对象,访问被代理对象通过代理对象进行访问理论的东西都不怎么好理解,这里我进行一个比喻(可能不太恰当,但有助于我们理解并掌握代理模式),我们以租房...原创 2019-02-27 18:24:23 · 195 阅读 · 0 评论 -
java之多线程,从线程的几种状态说起
最近赶着金三银四的风潮,我也顺应了时代一次,果断辞去工作,加入了找工作的大军当中,面来面去,发现大家都对java多线程这块比较感兴趣,于是在工作安定下来之后,我决定重新梳理一下多线程的知识,当做是一个学习复习笔记,看到的朋友,也请大家指出疏漏之处,在此谢过大家了。好了,话不多说,开始正题。线程的几种状态:新生:用关键字new创建一个线程 就绪:线程创建后,其它线程调用对象的start()...原创 2019-03-18 23:46:10 · 169 阅读 · 0 评论 -
java之操作mongodb
使用java进行or查询 spring data为我们提供了操作mongodb的jar包,org.springframework.data.mongodb.core.MongoTemplate,这与spring对其它数据库提供的操作类名称相似。下面简单说下多数据的更新操作,以或(or)为例:/***将primaryId或id等于传id的文档的name字段更新为王羊羊**/pub...原创 2019-04-24 11:15:00 · 492 阅读 · 0 评论 -
java操作mongodb之多表联查($lookup)
最近在开发的过程中,一个列表的查询,涉及到了多表的关联查询,由于持久层使用的是mongodb,对这个非关系型数据使用的不是很多,所以在实现此功能的过程中出现了不少问题,现在此做记录,一为加深自己的理解,以后遇到此类问题可以快速的解决,二为遇到同样问题的小伙伴提供一点小小的帮助。全文分为两部分:使用robo3t编写多表关系的查询语句 将编写的查询语句整合到java项目多表联查的查询语句:...原创 2019-05-20 16:28:56 · 7677 阅读 · 4 评论 -
java实现mongodb的分页排序查询
mongodb的分页排序查询与jpa的类似,使用springdata中提供的接口就可以实现,直接上代码:public Page<User> selUsersSortAndPage(Integer pageNum,Integer size,String userName){ //userName为传入的查询条件,也可以以对象的形式传入多个查询条件 BasicDBOb...原创 2019-06-12 14:16:07 · 4113 阅读 · 0 评论 -
springMVC get请求及地址的写法,以及eureka服务消费者的调用
SpringMVC get请求方式方式一,传统方式:后台代码:@RequestMapping("/animalConsumer")public Animal getAnimal(@RequestParam(value = "color") String color){ return animalService.getAnimal(color);}前端访问路径:http://...原创 2019-06-21 16:24:00 · 1050 阅读 · 0 评论 -
数据结构排序算法——简单选择排序
简单选择排序从待排序的数列中选择一个最小的数,放到有序数列的最后一位,最始的有序数列就是无序数列的第一个数,就相当于用数列的第一个元素分别与其它元素比较,选出最小数的下标,然后将最小数与有序数列的最一个数交换位置。因为每次选择的都是最小的数,所以经过排序之后,待排序数列变成有序(待排序数列中选择的最小的数实际上是有序数列中最大的数,因为比它更小的数已在上一次比较的时候被提到有序数列了)。时...原创 2019-07-18 15:10:51 · 479 阅读 · 2 评论 -
数据结构排序算法——插入排序
关于插入排序算法的思想以及讲解,网上已经有很多,而且讲的大都比较透彻,故此文的主要目的是做为学习笔记,也希望能为入门的小伙伴做一个参考。直接插入排序插入排序:向一个有序数列中插入一个数,使新数列依旧有序。时间复杂度:O(n2)稳定性:稳定java代码实现:public static void inserSort(int[] a){ int len = a.length...原创 2019-07-16 15:30:19 · 262 阅读 · 0 评论 -
数据结构排序算法——堆排序
堆排序属于选择排序,是对简单选择排序的一种优化。堆排序算法利用了完全二叉树的特点,这里的堆指的就是完全二叉树。完全二叉树的定义:除了最后一层之外的其他每一层都被完全填充,并且所有结点都保持向左对齐。左对齐的意思就是一个非叶子结点只要有右孩子就一定有左孩子。堆排序中堆分为两种,一种大顶堆(父结点大于等于孩子结点,根结点最大),一种小顶堆(父结点小于等于孩子结点,根结点最小),本文以大顶堆为例。说明:...原创 2019-07-24 22:05:31 · 392 阅读 · 0 评论 -
java分页的实现
最近在工作中用到了分页这个功能,网上的前端分页插件众多,但都不是太满意,因为很多都是把所有的数据查询出来,进行分页展示,这其实并不是真正意义上的分页,说到分页,我们就要想一下为什么要分页,其实就是减少数据库的压力,如果你只是为了前端展示分页的效果,那么你可以忽略我这篇文章了。接下来进入正题:分页的第一步就是要有创建一个包含返回给前端的实体类,话不多说,直接上代码:/** * 分页用到的...原创 2019-02-22 18:14:55 · 1094 阅读 · 0 评论