jfinal使用Db.save保存Record出现问题

代码如图,一开始使用批量保存,因为是几百条数据,所以循环放入一个List<Record>中,循环完再进行Db.batchSave("T_XTGL_CXK_YJ", listResult, 300); 批量保存,出现问题“无效字符”,对比数据库数据类型、长度、还有数据,都没问题。

然后进行单条保存,使用Db.save(),也出现同样问题,求大神指教

image.png

image.png

评论区

JFinal

2019-08-13 11:02

找到出错的那条数据,先不要用 Db.batchSave, 而是用 Db.save(...) 看看是哪条数据有问题,一般是数据本身不对

江流儿0526

2019-08-13 11:04

@JFinal 现在就是用的Db.save(),然后第一条就出问题,我都已经删减到只让保存一个字段ID了,然后赋一个固定的值“1”,依旧一样的结果。。。

要输就输给追求

2019-08-13 11:38

无效字符不是数据类型不对吗

江流儿0526

2019-08-13 11:39

@要输就输给追求 但是我都是set字符串呀,我数据库都是varchar

要输就输给追求

2019-08-13 11:42

@江流儿0526 看看生成的sql语句对不对

江流儿0526

2019-08-13 11:42

@要输就输给追求 我刚想说,用Db.save,怎么打印生成的语句了?我直接在数据库insert,用这些数据是没问题的

要输就输给追求

2019-08-13 11:44

@江流儿0526 打断点,跟进去看

JFinal

2019-08-13 11:58

@江流儿0526 arp.setShowSql(true)

江流儿0526

2019-08-13 14:54

@JFinal insert into `T_XTGL_CXK_YJ`(`pinyin`, `image_url`, `brand_name`, `id`, `type`) values(?, ?, ?, ?, ?) 这是打印出来的语句,为什么表明加了单引号,这就不对的啊

江流儿0526

2019-08-13 15:16

@江流儿0526 终于好了,我这个是单独写的一个工具类,需要设置arp.setDialect(new OracleDialect());官方语言为oracle,然后可以了,感谢各位大佬