V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ubuntuGary
V2EX  ›  Java

Mybatis 可以直接 insert List<Map<String, String>> 数据吗

  •  
  •   ubuntuGary · 2022-12-21 09:32:29 +08:00 · 2848 次点击
    这是一个创建于 710 天前的主题,其中的信息可能已经有所发展或是发生改变。

    刚接手一个旧项目,有个业务是从 Excle 读取数据插入数据库,读取 Excle 数据的方法已经实现了,返回的是 List<Map<String, String>>类型,数据与 mysql 表是一一对应的,我能直接定义一个数据表的 mapper.xml 将数据 insert 到 Mysql 吗,现在的问题是表结构字段类型存在 int 、float 、datatime 等类型,直接 insert 会不会自动转换到 int 类型( Mysql )?当然更好的做法是先转成 List<Bean>再插入,我只是想偷个懒。

    14 条回复    2022-12-27 14:57:24 +08:00
    dcsuibian
        1
    dcsuibian  
       2022-12-21 09:33:33 +08:00 via Android   ❤️ 1
    Map 一时爽,重构火葬场
    totoro52
        2
    totoro52  
       2022-12-21 09:37:02 +08:00
    你只管传 map 就好了,剩下的交给后人去处理
    golangLover
        3
    golangLover  
       2022-12-21 09:38:04 +08:00 via Android
    能上来写这么多的字的功夫,都够你把这 bean 写好了。
    7911364440
        4
    7911364440  
       2022-12-21 09:38:56 +08:00
    屎山就是这么堆出来的
    ubuntuGary
        5
    ubuntuGary  
    OP
       2022-12-21 09:45:43 +08:00
    @dcsuibian 这个旧项目已经是屎山了,全是传 Map 的
    ubuntuGary
        6
    ubuntuGary  
    OP
       2022-12-21 09:46:28 +08:00
    @totoro52 我现在就是前人的后人了
    potatowish
        7
    potatowish  
       2022-12-21 09:56:16 +08:00 via iPhone
    和传入参数类型无关,MyBatis 只是组装成 sql 然后提交到数据库,数值类型参数作为字符串传入 mysql 会自动转换到字段对应的类型
    kaf
        8
    kaf  
       2022-12-21 10:19:03 +08:00
    可以
    ljsh093
        9
    ljsh093  
       2022-12-21 10:29:43 +08:00
    是不是可以先做下 Map->DO 的转换?当然是有时间完整测试的情况下。不然还是不要动前人的屎山了。
    w292614191
        10
    w292614191  
       2022-12-21 11:22:17 +08:00
    额,借楼问个事情,Mybatis ,List<Map<String, Object>> 如果 sql 返回了 clob 就会报错,有什么解决方案吗?
    ianEros
        11
    ianEros  
       2022-12-21 14:13:25 +08:00
    后来有一天这个 excel 和表加了个字段😏
    tramm
        12
    tramm  
       2022-12-21 14:26:59 +08:00
    beanutil 把 map 转 pojo 吧
    dorothyREN
        13
    dorothyREN  
       2022-12-21 14:54:49 +08:00
    @ianEros #11 加个字段可能问题不是很大, 但要是哪天删了个字段。。。。
    fengpan567
        14
    fengpan567  
       2022-12-27 14:57:24 +08:00
    可以
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2856 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 06:49 · PVG 14:49 · LAX 22:49 · JFK 01:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.