- 博客(88)
- 收藏
- 关注
原创 Expression #1 of ORDER BY clause is not in SELECT list
去除ONLY_FULL_GROUP_BY。
2023-07-06 17:46:00
295
原创 Bean拷贝
因为基础的BeanUtils在使用时拷贝非常不方便,还需要我们自己去创建新的User拷贝,对List集合的拷贝还需要我们自己去遍历,这里我们封装工具类来实现这些功能。VO是后端将前端查询的字段数据封装成VO返给前端,使用Bean拷贝可以实现:将前端查询实体对象转为VO对象。DTO是封装前端传回来的字段,使用Bean拷贝可以实现:将前端传入Dto对象转为实体类对象。注意:两个对象中对应字段名和类型应完全相同,否则无法拷贝。将source中的字段添加到target中。第一个是参数对象,第二个是目标对象。
2023-06-08 15:23:52
1703
原创 StringUtils的使用
因为我的goods_id在数据库中是bingint类型,默认为NUll,实体类中组长要求将goodsId定义为String类型,前端添加的时候传了goodsId=""过来,我这边后台直接报错了。以下内容参考https://blog.csdn.net/diypp2012/article/details/82971716。这样写前端讲可以传了,组长过来看了一下觉得我写的太low了,让我用StringUtils。然后顺便上网查了一下这个类的其他方法,今天和前端对接的时候遇到了一个小问题。
2023-06-08 13:23:18
139
原创 mybatisPlus中的removeById使用场景
调用removeById方法,测试并查看执行的sql语句。mybatisplus查看方法所执行的完整sql相关配置。mybatisplus默认1为删除,0为未删除。实体类中加@TableLogic注解。
2023-06-07 22:04:04
2924
原创 mybatisPlus------乐观锁
支持的数据类型只有:int,Integer,long,Long,Date,Timestamp,LocalDateTime。仅支持 updateById(id) 与 update(entity, wrapper) 方法。在 update(entity, wrapper) 方法下, wrapper 不能复用!整数类型下 newVersion = oldVersion + 1。newVersion 会回写到 entity 中。
2023-06-06 22:47:40
190
原创 MyBatisPlus中的LambdaUpdateWrapper
QueryWrapper(LambdaQueryWrapper) 和 UpdateWrapper(LambdaUpdateWrapper) 的父类用于生成 sql 的 where 条件,LambdaUpdateWrapper继承自 AbstractWrapper ,自身的内部属性 entity 也用于生成 where 条件及 LambdaUpdateWrapper, 可以通过 new UpdateWrapper().lambda() 方法获取!
2023-06-06 22:20:38
9749
原创 BigDecimal类的比较与计算
1、如果指定的数与参数相等返回0。2、如果指定的数小于参数返回 -1。3、如果指定的数大于参数返回 1。加法:add减法:subtract乘法:multiply除法:divide绝对值:abs。
2023-06-06 21:27:07
223
原创 【前后端分离项目】搭建前后端分离项目框架(vue前端)
nodejs中自带了npm包,npm负责管理依赖,将nodejs下载完成后,即可使用npm创建工程以及下载依赖。下载完成后,在创建的文件夹地址栏中,输入cmd命令,进入黑窗口,查看自己的nodejs版本以及npm版本。继续回车,输入n(表示不保存这次的配置),当出现如下图的两行,表示项目已经创建好了,并且依赖也配好了。在package.json文件中,找到serve,输入–open,即可实现自启动。输入之后点击回车,出现如下界面,选择最后一项:手动选择功能,继续回车。继续回车,选择3版本。
2023-05-10 14:57:22
1137
转载 Java代码实现监听文件夹的功能
由文件监控类FileAlterationMonitor中的线程不停的扫描文件观察器FileAlterationObserver,如果有文件的变化,则根据相关的文件比较器,判断文件时新增,还是删除,还是更改。(默认为1000毫秒执行一次扫描)本文参考自:https://www.jianshu.com/p/9292e6eae018。内部实现是遍历的方式,小文件夹的效率还好;比如用测试60G的目录测试,就很慢了。Apache的Commons-IO,来实现文件的监控功能。Apache的common-io。
2023-03-28 14:19:10
1965
原创 SpringBoot集成Swagger3.0(入门) 02
ApiImplicitParams,@ApiImplicitParam:Swagger3对参数的描述。@ApiResponses, @ApiResponse:Swagger3对响应信息的描述。basePackage:指定包路径下的api。SwaggerConfig配置文件。none:任何api都无效。any:任何api都有效。Controller层。
2023-03-02 16:39:19
1123
原创 SpringBoot集成Swagger3.0(入门)01
这里我们用的是Swagger3.0,所以需要将SpringBoot版本降到2.6.5。接口文档打开路径:http://localhost:8082/swagger-ui/@ApiOperation(“测试功能1”):Swagger文档对方法的描述。@Api(“接口测试”):Swagger文档对类的描述。新建一个controller控制器测试接口。在启动类上添加开启Swagger的注解。启动SpringBoot项目进行测试。并且需要在yml文件中添加如下配置。注意:最后的/不能丢,否则打不开。
2023-03-01 16:54:28
469
原创 搭建SpringBoot项目
为什么使用SpringBoot?它有什么好处?SpringBoot可以快速构建出独立的Spring应用,简化了配置文件。内嵌Tomcat服务器,无须手动部署war文件。
2023-03-01 15:01:36
629
原创 Java面试题
实现Callable接口,重写call方法,配合FutureTask。FutureTask实现了RunnableFuture接口,RunnableFuture接口继承了Runnable接口。线程池就是事先创建若干个线程,当有程序需要的时候从池中获取线程,使用完毕不需要销毁线程,而是放回线程池中,从而减少创建和销毁线程池的操作,提高了系统的性能。继承Thread类(Thread类实现了Runnable接口),重写run方法,通过thread调用start()方法。分段锁:分成一段一段的小粒度的锁。
2023-03-01 14:19:33
419
原创 基于Swagger3.0的真实项目常用注解
默认只要是该类下的字段,无论什么修饰,都会被参与构造,与@RequiredConstructor不同的是,@RequiredConstructor只构造了有final或者@no-null修饰的字段。当我们用于对象属性比较的时候:只比较子类的属性,也就是讲:如果两个对象子类属性一致,父类属性不一致,在比较时候出现相同的结果,也就是返回的true。自动装配,可以代替@Autowired注解,需要注意的是在注入时需要用final定义,或者使用@NotNull注解。lombok插件的注解,可以使用log打印日志。
2023-02-02 17:16:18
9456
1
原创 学习开发全路线
前端的框架不要学太多 因为目前前端框架更新的快 可以说是很多品牌的框架打架 就像春秋战国似的 学两个工作够用就可以了 以后工作中遇到新的。把你的精力专注在java,jvm原理,spring原理,mysql锁,事务,多线程,高并发,分布式架构,微服务,以及相关的项目管理等等,反正基本都是些后台的系统这种项目一般是内部使用的 访问量不会太大 都是给内部使用的 项目写完后也可以算是自己的项目经验 )javaweb项目实战(对这之前学到的技术进行一个总结 做一个小项目 基本可以用到前面学到的大部分东西)
2023-02-02 13:32:03
420
原创 【MySQL】添加一条数据,无论表中是否存在(牛客专题)
由于添加一条不确定表中是否存在的数据,可能会出现PRIMARY KEY或UNIQUE索引具有相同的值,容易造成冲突,所以使用insert into可能会添加失败,需要使用replace into,即insert into的加强版。replace into 首先尝试插入数据到表中,如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据;否则,直接插入新数据。
2022-12-30 13:11:24
282
原创 vue1技术
1、Vue.js目前最火的的一个前端框架,三大主流前端框架之一。2、Vue.js是一套构建用户界面的框架(一套完整的解决方案,对项目侵入性大,中途需要跟换框架则需要重构整个项目),只关注视图层,易上手,有配套的第三方类库。3、提高开发效率,帮助减少不必要的dom操作;双向数据绑定,通过框架提供的指令,前端只需要关注业务逻辑,不再关心dom如何渲染。4.作者尤雨溪1、前端视图层的概念,主要把每个页面分成了M(Model)、V(View)、VM(VM ViewModel)。VM是其中核心,M和V间的调度者。
2022-11-07 12:35:21
631
原创 Vue技术
1在components目录下新建routes目录 然后新建index.js。在src里面的main.js里面输入。地址栏输入cmd回车。然后vscode打开。
2022-11-07 12:34:48
121
原创 ssm框架
maven---->webapp目录结构src main java ---->Mark Directory as---->Sources com ---->文件夹 cmf ---->文件夹 Controller ---->文件夹 Mapper ---->文件夹 Entity ---->文件夹 Service ---->文件夹 Impl ---->文件夹 resources ---->Mark Director
2022-11-07 12:34:13
124
原创 ssm技术
maven项目–》webquickstart目录结构src main java===========》mark com controller dao Interceptor listener pojo service until resources======》mark mapper===>文件夹 database.properties dispatcher-servlet.xml log4j.propert
2022-11-07 12:33:41
462
原创 sql映射文件
MyBatis的二级缓存相对于一级缓存来说,实现了SqlSession之间缓存数据的共享,同时粒度更加的细,能够到namespace级别,通过Cache接口实现类不同的组合,对Cache的可控性也更强。MyBatis在多表查询时,极大可能会出现脏数据,有设计上的缺陷,安全使用二级缓存的条件比较苛刻。
2022-11-07 12:32:49
211
原创 springmvc
Spring Web 模型视图控制器(MVC)框架是围绕设计的,该框架将请求分配给处理程序,并具有可配置的处理程序 Map,视图分辨器,语言环境,时区和主题分辨器,以及对文件上传的支持。默认处理程序基于和注解,提供了多种灵活的处理方法。随着 Spring 3.0 的引入,机制还允许您通过注解和其他功能来创建 RESTful 网站和应用程序。注解@RequestParam接收的参数是来自requestHeader中,即请求头。通常用于GET请求,像POST、DELETE等其它类型的请求也可以使用。
2022-11-07 12:32:22
720
原创 SpringCloud
最大区别:SpringCloud抛弃了Dubbo的RPC通信,采用的是基于HTTP的REST方式。严格来说,这两种方式各有优劣。虽然从一定程度上来说,后者牺牲了服务调用的性能,但也避免了上面提到的原生RPC带来的问题。而且REST相比RPC更为灵活,服务提供方和调用方的依赖只依靠一纸契约,不存在代码级别的强依赖,这在强调快速演化的微服务环境下,显得更加合适。dubbo是一套rpc框架但是springcloud确是微服的一站式解决方案SpringCloud没有采用数字编号的方式命名版本号,而是采用了伦敦地铁站
2022-11-07 12:31:48
227
原创 springBoot+vue
是指协议,域名,端口都要相同,其中有一个不同都会产生跨域,在请求数据时,浏览器会在控制台中报一个异常,提示拒绝访问。指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。在controller上加@RestController@CrossOrigin。service加@Service@Transactional。mapper 上加@mapper和@@Repository。在controller上加@CrossOrigin。主意要在appvue里加。
2022-11-06 12:01:20
173
原创 springboot
1.@AutoConfigurationPackage将添加该注解的类所在的package 作为 自动配置package 进行管理2.@Import({Registrar.class})实现动态的bean注入到spring容器,这个是在在@Bean注解定义bean 后动态的注入bean。
2022-11-06 12:00:49
273
原创 sping
Spring 框架是一个轻量级的解决方案,并且是构建企业就绪应用程序的一站式潜在 Store。但是Spring 是模块化的,允许您仅使用所需的那些 Component,而不必引入其他 Component。您可以将 IoC 容器与顶部的任何 Web 框架一起使用,但也可以仅使用Hibernate 集成代码或JDBC 抽象层。 Spring 框架支持声明式事务 Management,通过 RMI 或 Web 服务对逻辑的远程访问以及用于持久化数据的各种选项。它提供了功能齐全的MVC framework,并使
2022-11-06 12:00:11
367
原创 redis集群
集群,即Redis Cluster,是Redis 3.0开始引入的分布式存储方案。集群由多个节点(Node)组成,Redis的数据分布在这些节点中。集群中的节点分为主节点和从节点:只有主节点负责读写请求和集群信息的维护;从节点只进行主节点数据和状态信息的复制。集群的作用,可以归纳为两点:1、数据分区:数据分区(或称数据分片)是集群最核心的功能。集群将数据分散到多个节点,一方面突破了Redis单机内存大小的限制,存储容量大大增加;
2022-11-06 11:58:48
489
原创 redis
REmote DIctionary Server(Redis) 远程字典服务 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库。Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。
2022-11-06 11:58:19
276
原创 Linux
bin 是binary的缩写,一般是存放着一些常用的命令/sbin s是super User的意思 这里指的是存放着系统管理员使用的系统管理程序/home 存放的是普通用户的主目录,但是一般我们放东西,都在home下放/root 一般是系统管理员目录/boot 存放着启动Linux的一些核心的文件(别改)/proc 虚拟映射(别动)/srv 服务启动需要提取的数据(别动)/sys 相关系统文件/tmp 临时文件/dev。
2022-11-06 11:54:41
217
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅