首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

利用注解 + 反射消除重复代码,妙!

作者:Leilei Chen 链接:https://llchen60.com/利用注解-反射消除重复代码/ 1.1 案例场景 假设银行提供了一些 API 接口,对参数的序列化有点特殊,不使用 JSON...,而是需要我们把参数依次拼在一起构成一个大字符串: 1)按照银行提供的API文档顺序,将所有的参数构成定长的数据,并且拼接在一起作为一整个字符串 2)因为每一种参数都有固定长度,未达到长度需要进行填充处理...ContentType.APPLICATION_JSON) .execute().returnContent().asString(); } } 这样做能够基本满足需求,但是存在一些问题: 处理逻辑互相之间有重复...,稍有不慎就会出现Bug 处理流程中字符串拼接、加签和发请求的逻辑,在所有方法重复 实际方法的入参的参数类型和顺序,不一定和接口要求一致,容易出错 代码层面参数硬编码,无法清晰进行核对 1.3 使用接口和反射优化代码...这样做的好处是开发的时候会方便直观很多,然后将逻辑与细节隐藏起来,并且集中放到了一个方法当中,减少了重复,以及维护当中bug的出现。

52830

利用注解 + 反射消除重复代码,妙!

/ 1 案例场景 假设银行提供了一些 API 接口,对参数的序列化有点特殊,不使用 JSON,而是需要我们把参数依次拼在一起构成一个大字符串: 1)按照银行提供的API文档顺序,将所有的参数构成定长的数据...ContentType.APPLICATION_JSON) .execute().returnContent().asString(); } } 这样做能够基本满足需求,但是存在一些问题: 处理逻辑互相之间有重复...,稍有不慎就会出现Bug 处理流程中字符串拼接、加签和发请求的逻辑,在所有方法重复 实际方法的入参的参数类型和顺序,不一定和接口要求一致,容易出错 代码层面参数硬编码,无法清晰进行核对 3 使用接口和反射优化代码...这样做的好处是开发的时候会方便直观很多,然后将逻辑与细节隐藏起来,并且集中放到了一个方法当中,减少了重复,以及维护当中bug的出现。

50320

MySQL 查询数据

MySQL 数据库使用SQL SELECT语句来查询数据。 你可以通过 mysql> 命令提示窗口中在数据库中查询数据,或者通过 Python来查询数据。...语法 以下为在MySQL数据库中查询数据通用的 SELECT 语法: SELECT column_name,column_name FROM table_name[WHERE Clause][LIMIT...你可以通过OFFSET指定SELECT语句开始查询数据偏移量。默认情况下偏移量为0。...---- 通过命令提示符获取数据 以下实例我们将通过 SQL SELECT 命令来获取 MySQL 数据表 runoob_tbl 的数据: 实例 以下实例将返回数据表 runoob_tbl 的所有记录:...注:小编已经抓取所有盗墓笔记的章节目录与链接,储存在学习使用的远程mysql数据库中,如需使用远程数据库或者单独创建个人使用的数据库请后台联系小编或者后台回复mysql 抓取的数据存储在dmbj的dmbj

6.7K60

MySQL 查询重复数据,删除重复数据保留id最小的一条作为唯一数据

开发背景:   最近在做一个批量数据导入到MySQL数据库的功能,从批量导入就可以知道,这样的数据在插入数据库之前是不会进行重复判断的,因此只有在全部数据导入进去以后在执行一条语句进行删除,保证数据唯一性...操作: 使用SQL语句查询重复数据有哪些: SELECT * from brand WHERE brandName IN( select brandName from brand GROUP BY brandName...HAVING COUNT(brandName)>1 #条件是数量大于1的重复数据 ) 使用SQL删除多余的重复数据,并保留Id最小的一条唯一数据: 注意点: 错误SQL:DELETE FROM brand...(SELECT Id FROM (SELECT MIN(Id) AS Id FROM brand GROUP BY brandName HAVING COUNT(brandName)>1) t) #查询显示重复数据都是显示最前面的几条...not in 去删除其他重复多余的数据

3.4K20

MYSQL分页查询时没有用ORDER BY出现数据重复的问题

背景 产品反馈,用户在使用分页列表时,出现数据重复的问题,查看代码后发现对应的分页SQL并没有使用order by进行排序,但是印象中Mysql的InnoDB引擎会默认按照主键id进行排序,本地测试了一下的确出现了部分数据在不同的页都出现的问题...但是,如果该顺序不是确定性的,即可能有重复的值,则在每个具有相同值的组中,由于与上述相同的原因,该顺序是“随机的”。...对于同样的一批数据,在某一个时刻顺序是一样的,随着时间变化,数据会发生变化,那么在进行查询的时候,MySQL 会尝试以尽可能快的方法(MySQL 实际的方法不见得快)返回数据。...在 SQL 世界中,顺序不是一组数据的固有属性。因此,除非您使用 order by 子句查询您的数据,否则您无法从 RDBMS 保证您的数据将按特定顺序返回 - 甚至以一致的顺序返回。...在实际工作中,如果有查询列表展示数据的功能和需求,开发前一定要先确定数据排序的规则,这样可以避免后续出现数据查询的排序结果不同的问题。

1.5K11

Oracle数据查询重复数据及删除重复数据方法

工作中,发现Oracle数据库表中有许多重复数据,而这个时候老板需要统计表中有多少条数据时(不包含重复数据),只想说一句MMP,库中好几十万数据,肿么办,无奈只能自己在网上找语句,最终成功解救,下面是我一个实验...假设有一张人员信息表cs(姓名,证件号,地址),将表中三个字段数据重复数据筛选出来: distinct:这个关键字来过滤掉多余的重复数据只保留一条数据 select * from from cs  ...--------------------------------------------------------------------------------------------------- 查询重复数据...查询重复数据: select a.* from cs a where rowid !...查询重复数据: select max(xm),max(zjh),max(dz),count(xm) as 记录数 from cs group by xm having count(xm)>1    --

2.7K30

利用注解 + 反射消除重复代码(Java项目)

案例分析 1.1 案例场景 假设银行提供了一些 API 接口,对参数的序列化有点特殊,不使用 JSON,而是需要我们把参数依次拼在一起构成一个大字符串 按照银行提供的API文档顺序,将所有的参数构成定长的数据...ContentType.APPLICATION_JSON)                 .execute().returnContent().asString();     } } 这样做能够基本满足需求,但是存在一些问题: 处理逻辑互相之间有重复...,稍有不慎就会出现Bug 处理流程中字符串拼接、加签和发请求的逻辑,在所有方法重复 实际方法的入参的参数类型和顺序,不一定和接口要求一致,容易出错 代码层面参数硬编码,无法清晰进行核对 1.3 使用接口和反射优化代码...这样做的好处是开发的时候会方便直观很多,然后将逻辑与细节隐藏起来,并且集中放到了一个方法当中,减少了重复,以及维护当中bug的出现。

84800

MySQL查询连续数据

查询连续记录并对这些连续数据统计取出指定连续次数的记录,这类操作并不多,但出现时会比较棘手。...查询思想是: 顺序行号 - 减首差值 = 连续差块 顺序行号 如同 Oracle 中的 rownum 但MySQL目前还没有这个功能,所以只能通过局部变量来实现, 减首差值 就是每条记录与最开始记录的差...updated_time int unsigned not null comment '修改时间' )engine=innodb default charset=utf8 comment '用户签到'; 随机生成数据...(创建函数随机生成签到数据) create function insert_sign_data(num int) returns int begin declare _num int default 0...查询的思路是: 1.提取出全表用户每次打卡记录与第一次打卡记录的差值但按用户与日期正排序 2.增加一个局部变量rownum与上面查询数据进行连查 3.在结果字段集里使用日期差值减去自增顺序行号值得到连续差块

4.6K20
领券