2301_79370286 2023-08-10 00:04 采纳率: 0%
浏览 26
已结题

Mybatis-plus如何保存geometry类型的数据

使用的是mybatis-plus,mysql数据库,数据库中使用的类型是point。保存数据总是插入不进去。

  • 写回答

7条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-08-10 04:08
    关注

    【以下回答由 GPT 生成】

    我理解您的问题是如何使用Mybatis-plus保存MySQL数据库中的geometry类型(point类型)的数据。以下是一个解决方案的步骤:

    1. 确保您的数据库表中有一个geometry类型的列来存储point数据。您可以使用如下的方式创建表:
    CREATE TABLE your_table_name (
        id INT PRIMARY KEY AUTO_INCREMENT,
        location GEOMETRY
    );
    
    1. 确保您的Java实体类中有一个与数据库表对应的属性。请确保该属性的类型为com.vividsolutions.jts.geom.Point,这是Mybatis-plus默认支持的geometry类型。
    import com.vividsolutions.jts.geom.Point;
    
    public class YourEntity {
        private Long id;
        private Point location;
    
        // Getters and setters...
    }
    
    1. 在您的Mybatis-plus配置文件中,添加对geometry类型的支持。在MySQL数据库中,geometry类型需要使用JTS库进行解析和处理。您可以像下面这样配置Mybatis-plus的typeHandlers和typeAliases:
    <!-- typeHandlers -->
    <typeHandlers>
        <typeHandler handler="com.vividsolutions.jts.spatialtysql.mysql.MySQLGeometryTypeHandler"/>
    </typeHandlers>
    
    <!-- typeAliases -->
    <typeAliases>
        <typeAlias alias="point" type="com.vividsolutions.jts.geom.Point"/>
    </typeAliases>
    
    1. 更新您的Mapper接口,使用@Insert注解来保存数据。确保在插入数据时,正确地传递point类型的值。
    import com.baomidou.mybatisplus.core.mapper.BaseMapper;
    import org.apache.ibatis.annotations.Insert;
    import com.vividsolutions.jts.geom.Point;
    
    public interface YourMapper extends BaseMapper<YourEntity> {
        @Insert("INSERT INTO your_table_name (location) VALUES(#{location, typeHandler=com.vividsolutions.jts.spatialtysql.mysql.MySQLGeometryTypeHandler})")
        void insertWithGeometry(YourEntity entity);
    }
    
    1. 最后,在您的业务逻辑代码中调用insertWithGeometry方法来保存数据。
    YourEntity entity = new YourEntity();
    entity.setLocation(point); // 请使用合适的point对象初始化
    
    yourMapper.insertWithGeometry(entity);
    

    这就是一个使用Mybatis-plus保存MySQL数据库中geometry类型的数据的解决方案。希望对您有帮助!

    请注意,以上的解决方案假设您已经正确导入了Mybatis-plus和JTS库,并且在Mybatis-plus配置文件中正确配置了数据源和Mapper接口。如果在实际使用中遇到了问题,请仔细检查您的配置和依赖项是否正确。如果您已经尝试上述方法但仍然无法成功,请告诉我您遇到的错误提示,我将尽力帮助您解决问题。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 8月10日
  • 创建了问题 8月10日

悬赏问题

  • ¥15 k8s生产配置推荐配置及部署方案
  • ¥15 matlab提取运动物体的坐标
  • ¥15 人大金仓下载,有人知道怎么解决吗
  • ¥15 一个小问题,本人刚入门,哪位可以help
  • ¥15 python安卓开发
  • ¥15 使用R语言GD包一直不出结果
  • ¥15 计算机微处理器与接口技术相关问题,求解答图片的这个问题,有多少个端口,端口地址和解答问题的方法和思路,不要AI作答
  • ¥15 如何根据一个截图编写对应的HTML代码
  • ¥15 stm32标准库的PID角度环
  • ¥15 ADS已经下载好了,但是DAS下载不了,一直显示这两种情况,有什么办法吗,非常急!