拾光记录
218个文档 导航 作者 Gitee
随笔记录4
Hexo博客:基础使用Hexo博客:Next主题Hexo博客:Next进阶使用Hexo博客:Next高级配置
前端知识4
基础知识17
Vue框架19
UniApp14
微信小程序1
Java编程6
Java基础15
SpringBoot31
SpringMVC18
MyBatis9
SpringCloud15
中间件2
数据库4
MySQL13
Redis8
MongoDB10
其他数据库1
Python编程6
Python基础知识Python语法yolo目标检测OpenCV的使用及树莓派平台condauv管理工具
Linux12
Linux常用命令Jar启动脚本VirtualBox安装CentOSVirtualBox安装Ubuntu树莓派安装及使用frp内网穿透ArchLinux:基础系统安装ArchLInux:图形化界面安装ArchLinux:常用软件ArchLinux:深度优化ArchLinux:NiriArchLinux:模块记录
软件工具12
IDEAGitMavenGradleNginx安装Nginx配置JMeter压测OllamaRustFSPicGoVSCodeDocker
创意设计2
Blender:入门知识UI设计基础知识
AI相关9
Claude CodeHermes AgentOpenAI基本使用OpenAI工具调用OpenAI记忆管理OpenAI推理执行OpenAI开发框架Langchainllama.cpp

版本

需要MySQL8以上

CREATE TABLE `lezudev`.`tb_city`  (
  `id` bigint NOT NULL COMMENT 'ID',
  `name` varchar(255) NULL COMMENT '名称',
  `location` point NOT NULL COMMENT '中心经纬度',
  `code` varchar(255) NULL COMMENT '行政码',
  `level` int NULL COMMENT '类型:1-省份、2-城市',
  PRIMARY KEY (`id`),
  SPATIAL INDEX `idx_location`(`location`) COMMENT '经纬度'
) COMMENT = '行政区域';

重点:point类型,不能为空,如果有空间查询需要加上索引

Java操作

保存数据

<!-- 插入城市数据(使用 ST_GeomFromText 转换 Geometry) -->
<insert id="insertCity" parameterType="com.project.entity.TbCity">
    INSERT INTO tb_city (id,
                         name,
                         parent_id,
                         location,
                         code,
                         level,
                         remark,
                         deleted,
                         create_time,
                         create_user,
                         update_time,
                         update_user)
    VALUES (#{id},
            #{name},
            #{parentId},
            ST_GeomFromText(#{location}),
            #{code},
            #{level},
            #{remark},
            #{deleted},
            #{createTime},
            #{createUser},
            #{updateTime},
            #{updateUser})
</insert>

获取数据自动转

/**
 * 中心经纬度
 */
@TableField(typeHandler = PointStringTypeHandler.class)
private String location;
版本Java操作保存数据获取数据自动转