经纬度转区划代码服务搭建
可以做到:通过经纬度获取到该经纬度的所在区县的区划代码以及区县名称.限制:无法获取详细地址信息.
第一步 获取省市区县乡镇边界数据前往开源库https://github.com/xiangyuecn/AreaCity-JsSpider-StatsGov 下载【边界三级】省市区 坐标和边界 数据 ok_geo.csv.7z解压后得到ok_geo.csv前往AreaCity Geo格式转换工具官网下载转换工具,目前链接为:https://pan.baidu.com/s/14LsvF_PuPOEiOXgGAWI20w?pwd=b6ct#list/path=%2F下载AreaCity-Geo格式转换工具-1.3.230403-已带GDAL组件.7z解压后打开AreaCity-Geo-Transform.exe点击左上角选择ok_geo.csv文件 选择上一步得到的ok_geo.csv点击转为geojson文件,即可在ok_geo文件所在文件夹生成两个GeoJSON-Polygon-ok_geo-xxx.json文件大小较大文件是我们需要的.注意:默认导出为高德GCJ-02火星坐标系,如果需要导 ...
Mysql慢查询排查
1.登录mysql 使用
1234SELECT id, user, host, db, command, time, state, infoFROM information_schema.processlistWHERE command IN ('Query', 'Execute')AND time >= 10;
查询当前当前执行时间超过10秒的sql,发现一直在变动,无法定位问题.
2.查询慢sql日志show variables like 'slow_query%';
+———————+——————————–+| Variable_name | Value |+———————+——————————–+| slow_query_log | ON || slow_query_log_file | /opt/mysql/logs/mysql-slow.log ...
自定义Validator校验注解
新建注解类以IdCard注解为例:
123456789@Documented@Retention(RUNTIME)@Target({FIELD, METHOD, PARAMETER, TYPE})@Constraint(validatedBy = IdCardValidator.class)public @interface IdCard { String message() default "身份证号校验失败"; Class<?>[] groups() default {}; Class<? extends Payload>[] payload() default {};}
@Constraint(validatedBy = IdCardValidator.class)此处IdCardValidator为校验逻辑的实现类,上方注解和字段都不能修改,否则使用会报错.
新建校验逻辑实现类123456789101112public class IdC ...
内存溢出分析
起因服务挂了,第一时间下载自动生成的内存快照,用Mat打开进行分析等待分析完成后选择Leak Suspects Report(泄露嫌疑人报告)
分析完成直接找到第一个嫌疑人可以看到嫌疑人的类名是:org.hibernate.internal.SessionFactoryImpl,肯定和hibernate脱不了关系了.点击Details查看详情直接查看Accumulated Objects in Dominator Tree(查看引用树中的对象)可以看出来是org.hibernate.internal.util.collections.BoundedConcurrentHashMap的Segment占用内存太大导致了,这个时候可以点击org.hibernate.internal.util.collections.BoundedConcurrentHashMap>list Objects>with outgoing references 查看他下面的引用小科普一下:BoundedConcurrentHashMap是支持检索的完全并发和可调整的预期更新并发的哈希表,在hibern ...
mybatis-plus连表高级查询
本文介绍如何在MyBatis-Plus中使用QueryWrapper进行高级连表查询。通过QueryWrapper的getCustomSqlSegment方法,可以获取拼接好的SQL查询条件,用于实现复杂的多表关联查询。文中包括实体类的定义、控制器和服务层的实现,以及对应的XML配置示例,重点说明了在分页查询和字段别名处理方面的注意事项。
自定义注解,时间戳自动格式化为日期
本文介绍了一种通过自定义注解将时间戳自动格式化为日期的实现方.该方法无需修改字段类型,编写多余SQL或改变现有代码逻辑,依赖hutool工具包.文章包括注解创建、序列化和反序列化类的实现,以及在代码中的具体使用示例.