如何在使用sql模版的情况下进行批量操作
DbTemplate 并没有提功批量操作的方法
@Autowired private DbPro db1; @Autowired private DbPro db2; public void batchReplaceInto(List<Record> tasks) { String sql = "replace into task(stepId, code, appId, status, actionUserId, actionName, title, priority) value (?, ?, ?, ?, ?, ?, ?, ?)"; String cols = "stepId, code, appId, status, actionUserId, actionName, title, priority"; db2.batch(sql, cols, tasks, 5000); }
这是现在的用法
SqlPara sqlPara = Db.getSqlPara(...);
Db.xxx(sqlPara.getSql(), sqlPara.getPara());
也就是说,先获取到 SqlPara 对象,然后可以从这个对象中获取到 sql + paras , 这样就可以用上所有的数据库方法了,因为所有的数据库方法参数本质就是 sql + paras
此外,你还可以单拿 sql:
String sql = Db.getSql(key);
这个方法适用于比较纯粹的 sql ,没有参数