gpt4 book ai didi

java - 如何在不列出所有属性的情况下通过基于注释的mybatis将对象(超过10个属性)插入mysql

转载 作者:行者123 更新时间:2023-11-29 05:15:35 25 4
gpt4 key购买 nike

我想通过注解通过mybatis向mysql中插入一个具有10个以上属性的Object。但是我必须列出所有属性,太不方便了。我想知道是否有一些方法可以轻松插入对象而无需通过 mybatis 列出所有属性。这是我的片段。非常感谢。

@Insert("insert into poi_shop(name,brand,tags,status,phone,mobile,business_time,address,city,lng,lat,business_type,attribute_json) values(#{name},#{brand},#{tags},#{status},#{phone},#{mobile},#{business_time},#{address},#{city},#{lng},#{lat},#{business_type},#{attribute_json})")
@Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id")
public Long insertPoiInfo(PoiBo poiBo);

最佳答案

开箱即用的 MyBatis(至少版本 3)是不可能的。

MyBatis 在从数据库中读取数据时具有自动映射功能,但没有在插入时自动映射字段的选项。

原因是 MyBatis 非常以 SQL 为中心,您需要手动编写 SQL。 SQL select 语句 (select * from table) 中可能有隐式字段,因此在这种情况下会自动映射到 POJO,但在更新或插入中不可能有隐式字段,因此没有自动-映射。

MyBatis 可以扩展的原因。例如,您可以将 @InsertProvider/@UpdateProvider 与使用反射生成 sql 以获取对象字段的 sql 生成器一起使用。

关于java - 如何在不列出所有属性的情况下通过基于注释的mybatis将对象(超过10个属性)插入mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33383134/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com