刚接手一个旧项目,有个业务是从 Excle 读取数据插入数据库,读取 Excle 数据的方法已经实现了,返回的是 List<Map<String, String>>类型,数据与 mysql 表是一一对应的,我能直接定义一个数据表的 mapper.xml 将数据 insert 到 Mysql 吗,现在的问题是表结构字段类型存在 int 、float 、datatime 等类型,直接 insert 会不会自动转换到 int 类型( Mysql )?当然更好的做法是先转成 List<Bean>再插入,我只是想偷个懒。
1
dcsuibian 2022-12-21 09:33:33 +08:00 via Android 1
Map 一时爽,重构火葬场
|
2
totoro52 2022-12-21 09:37:02 +08:00
你只管传 map 就好了,剩下的交给后人去处理
|
3
golangLover 2022-12-21 09:38:04 +08:00 via Android
能上来写这么多的字的功夫,都够你把这 bean 写好了。
|
4
7911364440 2022-12-21 09:38:56 +08:00
屎山就是这么堆出来的
|
5
ubuntuGary OP @dcsuibian 这个旧项目已经是屎山了,全是传 Map 的
|
6
ubuntuGary OP @totoro52 我现在就是前人的后人了
|
7
potatowish 2022-12-21 09:56:16 +08:00 via iPhone
和传入参数类型无关,MyBatis 只是组装成 sql 然后提交到数据库,数值类型参数作为字符串传入 mysql 会自动转换到字段对应的类型
|
8
kaf 2022-12-21 10:19:03 +08:00
可以
|
9
ljsh093 2022-12-21 10:29:43 +08:00
是不是可以先做下 Map->DO 的转换?当然是有时间完整测试的情况下。不然还是不要动前人的屎山了。
|
10
w292614191 2022-12-21 11:22:17 +08:00
额,借楼问个事情,Mybatis ,List<Map<String, Object>> 如果 sql 返回了 clob 就会报错,有什么解决方案吗?
|
11
ianEros 2022-12-21 14:13:25 +08:00
后来有一天这个 excel 和表加了个字段😏
|
12
tramm 2022-12-21 14:26:59 +08:00
beanutil 把 map 转 pojo 吧
|
13
dorothyREN 2022-12-21 14:54:49 +08:00
@ianEros #11 加个字段可能问题不是很大, 但要是哪天删了个字段。。。。
|
14
fengpan567 2022-12-27 14:57:24 +08:00
可以
|