关于batchSave的修改意见

当batchSave的时候,我看到你的DbPro里面生成sql语句是根据list.get(0)的字段来的。但是我们实际运用中批量保存具体的对象的保存字段是有一些差别,这样往往导致list第一条数据以外的数据很容易就会丢失数据。

建议sql语句是根据真实所有的字段来生成的。

但这样就不能适应于batchUpdate,最好是钟对每个具体的的实体对象都生成自己的sql。

评论区

JFinal

2017-04-24 21:50

这个 batchUpdate 方法为了达到最高性能,所以整个方法中只使用一条 sql ,并将其 preparedStatement(sql)

如果为 list 中的每个元素都生成一条 sql 就只能 createStatement(),然后不断 addBatch(sql) 各种不同的 sql

以上是两种不同的工作模式,前者在注释中已经说明,sql 会根据 list 中的第一个元素去生成,如果 list 中的元素各不相同,建议使用 batch(List sql ...) 这类方法

热门反馈

扫码入社