后端
个人使用接触过的后端技术
奔跑-lhs
这个作者很懒,什么都没留下…
展开
-
mybatis使用相关问题汇总——持续更新中
旨在整理工作中mybatis使用所需配置原创 2022-05-30 15:24:26 · 218 阅读 · 0 评论 -
工作中遇到的异常以及解决方法整理,持续更新
1.异常:java.lang.NoClassDefFoundError: org/apache/commons/codec/binary/Base64解决方案:加入驱动包 <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.6</version>原创 2022-05-20 10:39:31 · 641 阅读 · 0 评论 -
springboot+mybatis如何配多数据源
从目前工作中常用的框架来讲;一种是 springboot+mybatis;另一种是springboot+JPA;两种持久层,配多数据源自然也有区别;且 多数据源 和 多种数据源 也是有区别的;千万不要稀里糊涂混为一谈!1、springboot+mybatis配置多数据源...原创 2021-09-08 10:00:56 · 124 阅读 · 0 评论 -
红色避坑警告:mysql数据库 sum() 函数用法避坑
场景描述:工作中拿到一个小需求,要求给智能推荐能力做一个简单的推荐量统计与推荐明细记录;SELECT IFNULL(sum(user_id),0) SUM(tks.TOTAL_CLCK_QUT) allCount,SUM(tks.MON_CLCK_QUT) monthCount,SUM(tks.WEEK_CLCK_QUT) weekCount,SUM(tks.DAILY_CLCK_QUT) dayCount FROM t_kc_doc_edit_pus pus JO.原创 2021-05-28 10:34:08 · 959 阅读 · 0 评论 -
ExecutorService等所有线程执行完毕,并设置超时时间
1、工作中遇到的业务处理需要:例:生产问题:生产上一个常用的会话接口,此接口内集成了5个外部接口能力(python的,Java的,其中每个接口基本耗时2~3秒),原有会话接口里是依次去调用的, 这就导致用户体验很差,因为2乘5也就是10秒,也就是说会话接口耗时10秒起步;解决方案:将原来的依次调用,改为多线程异步调用,等所有线程的调用都处理结束后,再去统一处理封装数据,因为多线程异步的原因,一个接口调用耗时2~3秒, 则...原创 2021-04-13 22:01:38 · 1722 阅读 · 0 评论 -
sql中 # 和 $ 的区别
三:sql中 # 和 $ 的区别: #可以防止sql注入 #是占位符,在DBMS才进行替换,在预编译时使用?占位,能防止sql注入; deletefromuserwherename = ?;而传入的参数将会经过PreparedStatement方法的强制类型检查和安全检查等处理,最后作为一个合法的字符串传入。在#{}预...原创 2020-02-20 10:50:24 · 1835 阅读 · 0 评论 -
mybatis开发dao层时给sql传参与接收返回值注意点
首先介绍一下: 一. 使用映射方式时,传入Map,map里放了几个字段,还有一个list 这时使用foreach时, 注意: 1、首先 传入的集合,collection后的命名和 Map里塞list时的 ke...原创 2020-02-20 10:47:38 · 993 阅读 · 0 评论 -
Java的四个基本特性(抽象、封装、继承,多态)
Java的四个基本特性(抽象、封装、继承,多态): --抽象:就是把现实生活中的某一类东西提取出来,用程序代码表示,我们通常叫做类或者接口。 抽象包括两个方面:一个是数据抽象,一个是过程抽象。数据抽象也就是对象的属性。过程抽象是对象的行为特征。 --封装:把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信 ...原创 2020-02-18 09:46:56 · 290 阅读 · 0 评论 -
注-hashMap的底层原理以及如何解决碰撞
首先 先说说hashMap的底层原理: 看上图,可以发现hashMap的类继承AbstractMap,并实现了Map<k,v>,Clonetable,Serializable这三个接口; 上图中 看到默认构造方法中有一个DEFAULT_LOAD_FACTOR,称为负载因子,可以看下静态参数 负载因子默认为0...原创 2020-02-18 10:33:53 · 740 阅读 · 0 评论 -
java中常用线程池以及使用风险
1.为什么使用线程池构建服务器应用程序的一个简单模型是:每当一个请求到达就创建一个新线程,然后在新线程中为请求服务。实际上对于原型开发这种方法工作得很好,但如果试图部署以这种方式运行的服务器应用程序,那么这种方法的严重不足就很明显。每个请求对应一个线程(thread-per-request)方法的不足之一是:为每个请求创建一个新线程的开销很大;为每个请求创建新线程的服务器在创建和销毁线程上花费...原创 2020-02-19 12:50:31 · 549 阅读 · 0 评论 -
springboot中起异步线程的线程池配置
springboot中起异步线程的线程池配置 多线程异步调用的使用场景:在复杂业务逻辑中,交易链路过长,使用多线程异步服务来提高效率1、线程池配置类package com.fbank.dis_midware.config;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.spr...原创 2020-02-19 16:41:46 · 816 阅读 · 0 评论