- 博客(34)
- 资源 (3)
- 收藏
- 关注
转载 Mybatis实现批量新增的工具类(batch模式)
Mybatis实现批量新增的工具类(batch模式)前言: Mybatis内置的ExecutorType有3种,默认的是simple,该模式下它为每个语句的执行创建一个新的预处理语句,单条提交sql;而batch模式重复使用已经预处理的语句,并且批量执行所有更新语句,显然batch性能将更优;batch模式存在的问题: 在Insert操作时,在事务没有提交之前,是没有办法获取到自增的id,这在某型情形下是不符合业务要求的;一、单数据源1.批量新增的工具类(BatchInsertUtil)p
2021-12-03 18:41:04
3293
原创 使用JDBC连接数据库rs.getString参数解析
使用JDBC连接数据库rs.getString参数解析rs.getString(“这里放入下面列出的常量”)例如:System.out.println(rs.getString(“TABLE_CAT”)+"----"+rs.getString(“TABLE_SCHEM”));就是分别拿到表类别和表模式每个列描述都有以下列:TABLE_CAT String => 表类别(可为null)TABLE_SCHEM String => 表模式(可为null)TABLE_NAME Strin
2021-11-17 10:59:41
2625
转载 Java8 中通过 Stream 对列表进行去重的方法
Java8 中通过 Stream 对列表进行去重的方法=>转载Stream 对列表进行去重(distinct()和filter()方法)
2021-09-18 10:10:10
181
原创 三次握手和四次挥手详解
三次握手和四次挥手详解这么的通俗易懂,你还在迷茫吗?三次握手四次挥手为什么要进行第三次握手?为什么“握手”是三次,“挥手”却要四次?这么的通俗易懂,你还在迷茫吗?以图文并茂的形式来讲解三次握手四次挥手的流程三次握手举个栗子:把客户端比作男孩,服务器比作女孩。用他们的交往来说明“三次握手”过程:(1)男孩喜欢女孩,于是写了一封信告诉女孩:我爱你,请和我交往吧!;写完信之后,男孩焦急地等待,因为不知道信能否顺利传达给女孩。(2)女孩收到男孩的情书后,心花怒放,原来我们是两情相悦呀!于是给男孩写了一
2021-09-17 11:08:29
398
原创 2021-08-19
MyBatis-plus自定义分页查询注意点注意点有 一个小坑,就是order by排序。传入了page参数,mybatis-plus底层就会帮你翻页查询,会查询总数量。通过输出的sql日志可以发现,其实框架是在你的sql基础上外面再套一层select count(1) from。这里会有个问题,本人用的数据库是sqlserver,如果在count查询语句里用了order by就会出错,解决方法是调用queryWrapper对象中的排序方法queryWrapper.orderByDesc(“CREATE
2021-08-19 11:28:50
74
原创 找不到符号
找不到符号的问题_编译出错解决办法之一解决办法之一找到找不到符号对应所在的类,然后删除所在的maven构建后产生的target包,删除完成后鼠标右键项目maven-重新build即可
2021-07-09 14:39:47
204
原创 拦截器实现token校验
token校验1、实现HandlerInterceptorAdapter接口/** * token校验拦截器 * * @author LIUQI */@Componentpublic class RepeatSubmitInterceptor extends HandlerInterceptorAdapter { @Resource RedisUtil redisUtil; @Override public boolean preHandle(HttpSe
2021-06-21 11:19:38
2102
转载 java和JS获取图片的宽和高
java和JS获取图片的宽和高后台方法jpg 和 png 格式// java获取图片的到达小,高度和宽度,jpg/png/ public void imageSize() throws IOException {// 方法一 ImageIcon imageIcon = new ImageIcon("E:/ISiteImg/robot1.png"); int width1 = imageIcon.getIconWidth();
2021-05-31 16:37:10
335
转载 Spring默认事务规则
Spring默认事务规则 情景实例常见坑点1:原因分析:常见坑点2:推荐做法:情景实例例如用户新增需要插入用户表、用户与岗位关联表、用户与角色关联表,如果插入成功,那么一起成功,如果中间有一条出现异常,那么回滚之前的所有操作, 这样可以防止出现脏数据,就可以使用事务让它实现回退。做法非常简单,我们只需要在方法或类添加@Transactional注解即可。代码:@Transactionalpublic int insertUser(User user){ // 新增用户信息 int rows
2021-05-31 11:00:44
1832
1
原创 最后一块石头的重量
最后一块石头的重量 贪心算法 递归题目描述有一堆石头,每块石头的重量都是正整数。每一回合,从中选出两块 最重的 石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x <= y。那么粉碎的可能结果如下:如果 x == y,那么两块石头都会被完全粉碎;如果 x != y,那么重量为 x 的石头将会完全粉碎,而重量为 y 的石头新重量为 y-x。最后,最多只会剩下一块石头。返回此石头的重量。如果没有石头剩下,就返回 0。 示例:输入:[2,7,4,1,8
2021-05-10 17:56:10
92
原创 斐波那契数列
斐波那契数列题目描述写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。 示例 1:输入:n = 2输出:1示例
2021-05-07 10:22:18
127
原创 最后一块石头的重量
最后一块石头的重量 贪心算法 递归题目描述有一堆石头,每块石头的重量都是正整数。每一回合,从中选出两块 最重的 石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x <= y。那么粉碎的可能结果如下:如果 x == y,那么两块石头都会被完全粉碎;如果 x != y,那么重量为 x 的石头将会完全粉碎,而重量为 y 的石头新重量为 y-x。最后,最多只会剩下一块
2021-05-05 19:51:54
137
原创 文章搜索比较常用代码
文章搜索@Service@Log4j2public class ArticleSearchServiceImpl implements ArticleSearchService {@Autowiredprivate RestHighLevelClient restHighLevelClient;/** * app端文章搜索 * @param dto * @return */@Overridepublic ResponseResult search(UserSearchDto dt
2021-05-02 21:44:00
184
原创 搭建Elasticsearch环境
搭建Elasticsearch环境拉取镜像pull—>创建容器—>配置中文分词器#拉取镜像pulldocker pull elasticsearch:7.4.0#创建容器docker run -id --name elasticsearch -d -p 9200:9200 -p 9300:9300 -v /usr/share/elasticsearch/plugins:/usr/share/elasticsearch/plugins -e "discovery.type=single
2021-05-02 21:29:38
106
原创 魔术索引
魔术索引题目描述魔术索引。 在数组A[0...n-1]中,有所谓的魔术索引,满足条件A[i] = i。给定一个有序整数数组,编写一种方法找出魔术索引,若有的话,在数组A中找出一个魔术索引,如果没有,则返回-1。若有多个魔术索引,返回索引值最小的一个。示例1: 输入:nums = [0, 2, 3, 4, 5] 输出:0 说明: 0下标的元素为0示例2: 输入:nums = [1, 1, 1] 输出:1说明:1.nums长度在[1, 1000000]之间2.此题为原书中的
2021-04-29 18:15:01
149
原创 除数博弈
除数博弈题目描述爱丽丝和鲍勃一起玩游戏,他们轮流行动。爱丽丝先手开局。最初,黑板上有一个数字 N 。在每个玩家的回合,玩家需要执行以下操作:选出任一 x,满足 0 < x < N 且 N % x == 0 。用 N - x 替换黑板上的数字 N 。如果玩家无法执行这些操作,就会输掉游戏。只有在爱丽丝在游戏中取得胜利时才返回 True,否则返回 False。假设两个玩家都以最佳状态参与游戏。
2021-04-27 21:09:33
137
原创 StringUtils.isEmpty( xxx ) 和 xxx == null的区别
StringUtils.isEmpty( xxx ) 和 xxx == null的区别StringUtils.isEmpty( xxx )对括号中的内容判断是否为null 和 " " 空字符串。而xxx == null ,是判断该对象是否为null。
2021-04-27 19:36:33
1991
原创 List集合中add()方法和addAll()方法的区别
List集合中add()方法和addAll()方法的区别简单来说List集合中的add()方法是添加单独的元素进行存储,而addAll()方法是将指定的collection集合所有的元素添加到当前List集合中。**注意:**当前List集合追加的元素的个数即为指定colection集合中元素的大小。...
2021-04-25 11:03:28
1959
转载 Arrays.toList() 和Collections.singletonList()的区别
Arrays.asList()、Collections.singletonList()Arrays.asList(strArray)返回值是仍然是一个可变的集合,但是返回值是其内部类,不具有add方法,可以通过set方法进行增加值,默认长度是10Collections.singletonList()返回的是不可变的集合,但是这个长度的集合只有1,可以减少内存空间。但是返回的值依然是Collections的内部实现类,同样没有add的方法,调用add,set方法会报错java.lang.U
2021-04-23 19:42:56
159
原创 新用户注册(信息完善技术点)
探花交友Day02总结图片上传 — 阿里云OSS对象存储1.导入阿里云OSS对象存储依赖2.编写配置类,用于导入OSS对象存储基本信息3.编写结果类,用于返回上传文件的结果信息4.编写图片上传service层实现图片上传的逻辑5.编写controller层,以json格式返回图片上传后的信息头像上传 — 虹软人脸识别技术1.从虹软官网下载SDK2.安装SDK jar包到本地仓库,导入依赖3.配置文件配置虹软相关配置4.编写FaceEngineService层5.编写controll
2021-04-23 19:12:45
377
原创 FastDFS分布式文件系统(图文并茂)
Hi ! 看下图梭哈就给你整明白了文本描述(按自己的话理解)traker:拖油瓶storage:储油罐拖油瓶肯定知道储油罐有多少容量,储油罐和拖油瓶之间肯定是有连接的,客户端会先找到拖油瓶,拖油瓶会把储油罐的容量告诉客户端,并告诉客户端储油罐放到那里(ip和端口)了,然后客户端就可以找储油罐拿油(数据)啦!...
2021-04-23 18:52:39
148
原创 最长特殊序列Ⅰ
最长特殊序列Ⅰ题目描述给你两个字符串,请你从这两个字符串中找出最长的特殊序列。「最长特殊序列」定义如下:该序列为某字符串独有的最长子序列(即不能是其他字符串的子序列)。子序列 可以通过删去字符串中的某些字符实现,但不能改变剩余字符的相对顺序。空序列为所有字符串的子序列,任何字符串为其自身的子序列。输入为两个字符串,输出最长特殊序列的长度。如果不存在,则返回 -1。 示例 1:输入: "aba", "cdc"输出: 3解释: 最长特殊序列可为 "aba" (或
2021-04-23 18:38:55
218
原创 MybatisPlus使用过程中Sql语句xml文件绑定异常
MybatisPlus使用过程中Sql语句xml文件绑定异常异常信息Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL造成原因
2021-04-22 13:48:26
513
原创 Mysql中tinyint和Java中POJO
mysql中tinyint和实体类POJO中对应自动转换MySQL保存boolean值时用1代表TRUE,0代表FALSE。boolean在MySQL里的类型为tinyint(1)。MySQL里有四个常量:true,false,TRUE,FALSE分别代表1,0,1,0。create table test(id int primary key,bl boolean)这样是可以创建成功。查看建表后的语句会发现,mysql把它替换成tinyint(1)。在pojo里直接定义该属性为布尔值即可:p
2021-04-15 20:50:28
639
转载 Spring Cloud Alibaba:Nacos 作为注册中心和配置中心使用
Spring Cloud Alibaba:Nacos 作为注册中心和配置中心使用转载链接:Spring Cloud Alibaba:Nacos 作为注册中心和配置中心使用
2021-04-15 13:05:25
89
原创 消息总线---bus
一、配置中心+Bus1.1 在gitee中编写配置文件1.2 开发配置中心1、导入pom座标 <!--暴露端点--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </
2021-04-14 19:49:54
261
原创 服务网关Gateway
服务网关Gateway1.1 Gateway概述网关旨在为微服务架构提供一种简单而有效的统一的API路由管理方式。在微服务架构中,不同的微服务可以有不同的网络地址,各个微服务之间通过互相调用完成用户请求,客户端可能通过调用N个微服务的接口完成一个用户请求。存在的问题:1.客户端多次请求不同的微服务,增加客户端的复杂性2.认证复杂,每个服务都要进行认证3.http请求不同服务次数增加,性能不高网关就是系统的入口,封装了应用程序的内部结构,为客户端提供统一服务,一些与业务本身功能无关的公共逻辑
2021-04-12 21:00:07
190
原创 SpringCloud-Hystrix
Hystrix1、线程隔离2、服务降级 当服务提供方出错、或处理超时时给出友好的提示2.1 服务提供方实现服务降级添加pom <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
2021-04-12 19:36:25
70
原创 SpringCloud-Feign
二、FeignFeign是基于ribbon开发完成的,它其实就是对ribbon一个封装2.1 开发步骤1、在消费方添加open-feign的座标 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId>
2021-04-12 19:30:20
109
原创 SpringCloud-Ribbon
一、Ribbonribbon有两个作用:1、简化远程调用1.1 pom 由于spring-cloud-starter-netflix-eureka-client已经集成了ribbon,所以只用导入eureka-client就可以了1.2 在声明RestTemplate对象时添加@LoadBalanced注解@Configurationpublic class RestTemplateConfig { @Bean @LoadBalanced public Rest
2021-04-12 19:29:20
143
原创 注册登录
探花交友Day01总结MySQL 和 MongoDBMongoDB: 用于海量数据的存储MySQL: 用于少量数据的存储单点登录系统 — 登录 分发JWT令牌优点: 1.用户只需要登录一次,就可以访问所有可以相互信任的应用系统 --- 用于登录 统一的认证入口 2.用户体验好缺点: 1本升级会很麻烦 2.SSO系统压力大工作流程: 1.登录 2.分发JWT令牌 验证 token -- 至少包含用户id,若包含密码等敏感信息会不安全 3.判断是否有效 首次请求:客户端
2021-03-27 12:49:20
795
原创 Required Integer parameter ‘XXX‘ is not present报错解决
Required Integer parameter ‘XXX‘ is not present报错解决问题现象解决方案前台传参page和pagesize,前台如果没有给定指定值,后台需要给定默认值,不然会触发此异常
2021-03-26 22:07:31
8518
1
Java_Notes.chm
2021-03-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人