如何在使用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 ,没有参数