欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

jfinal的批处理方法

程序员文章站 2022-06-14 19:44:43
...

1. batch批处理

  • 1.1 public static int[] batch(List sqlList, int batchSize)
说明:1. sqlList是sql语句的集合。
例子:
public void demo(int empId,Integer[] priIds) {
    List<String> sqlList = new ArrayList<String>();
    sqlList.add(0, "DELETE FROM t_scenic_employee_privilege WHERE employeeId="+empId);
    for (int priId : priIds) {
        sqlList.add("INSERT INTO  t_scenic_employee_privilege(employeeId,privilegeId) VALUES("+empId+","+priId+")");
        }
    Db.batch(sqlList, priIds.length+1);
}
  • 1.2 public static int[] batch(String sql, String columns, List modelOrRecordList, int batchSize)
    说明:
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 是指多少条数据写一次数据库
  • 1.3 public static int[] batch(String sql, Object[][] paras, int batchSize)
Db.batch("INSERT INTO tableName(roleId,privilegeId) VALUES(?,?)", params, params.length)
说明:1.paras是插入的二维数组值
相关标签: jfinal