jfinal batch批量操作操作

public static int[] batch(java.lang.String sql,
          java.lang.String columns,
          java.util.List modelOrRecordList,
          int batchSize)

Execute a batch of SQL INSERT, UPDATE, or DELETE queries.

Example:

 String sql = "insert into user(name, cash) values(?, ?)";
 int[] result = Db.batch(sql, "name, cash", modelList, 500);
  • 参数:

  • sql - The SQL to execute.

  • columns - the columns need be processed by sql.

  • modelOrRecordList - model or record object list.

  • batchSize - batch size.


问题点:这里面的modelOrRecordList 是什么啊?什么格式的,怎么传都不对,不好意思我是个小菜,求指导

评论区

JFinal

2016-11-24 12:52

简单说明一下:
1:sql 参数是指 insert into 或者 update 语句,动态参数使用问号占位,例如:
String sql = "insert into user(name, cash) values(?, ?)";
上面这个 sql 其中要插入 name、cash 两个字段,而 values 中用了两个问号,这两个问号中的值从后续的 modelOrRecordList 中获取

2:columns 是指前面 sql 中问号占位的地方的参数名称,jfinal 在填充字段值的时候会根据这个名称去 modelOrRecordList 中去取数据

3:modelOrRecordList 是指 List < User > 或者 List < Record> 或者这种列表

4:batchSize 是指多少条数据写一次数据库

cicicv

2017-05-18 14:40

学习了

lyleluo

2017-09-13 18:53

batchSize 上限是多少,假如有50W数据,最快的方式,怎么设置好

时代峰峻

2018-07-10 14:16

@JFinal 举个栗子啊,这么说怎么知道

雅雅是我的暧

2018-08-06 17:56

建议将columns参数设置为数组类型,modelOrRecordList 参数设置为map类型的,更一目了然,清晰可见

shaoxia灬

2018-12-21 11:28

4:batchSize 是指多少条数据写一次数据库 容易造成数据库事物中断

tuxming

2019-03-19 13:53

@JFinal 我调用也没成功,那个参数能具体点吗?

JFinal

2019-03-19 14:30

@tuxming DbPro.java 源码中的方法上面有注释说明,还有示例,鼠标停留在方法上可以显示出来

LJL2020

2020-05-08 14:10

@JFinal 请问一下 这个DbPro.java是在哪里呢?

JFinal

2020-05-08 17:32

@LJL2020 com.jfinal.plugin.activerecord.DbPro

热门反馈

扫码入社