Model的一段代码看不懂,希望能给个注解

蓝帅 发布于 2014/10/24 10:29
阅读 253
收藏 0

@JFinal 你好,想跟你请教个问题:Config config = getConfig();
Table table = getTable();

StringBuilder sql = new StringBuilder();
List<Object> paras = new ArrayList<Object>();
config.dialect.forModelSave(table, attrs, sql, paras);
// if (paras.size() == 0) return false; // The sql "insert into tableName() values()" works fine, so delete this line

// --------
Connection conn = null;
PreparedStatement pst = null;
int result = 0;
try {
conn = config.getConnection();
if (config.dialect.isOracle())
pst = conn.prepareStatement(sql.toString(), new String[]{table.getPrimaryKey()});
else
pst = conn.prepareStatement(sql.toString(), Statement.RETURN_GENERATED_KEYS);

config.dialect.fillStatement(pst, paras);
result = pst.executeUpdate();
getGeneratedKey(pst, table);
getModifyFlag().clear();
return result >= 1;
} catch (Exception e) {
throw new ActiveRecordException(e);
} finally {
config.close(pst, conn);
}
}
帮忙加个注解,新手看不懂

加载中
1
JFinal
JFinal
   设置个断点,调试一下,看看变量 sql 以及变量 paras 中值的变化,立马就明白了,简单说就是生成一条 insert into .... 的 sql 以及配套的参数,然后扔给 jdbc 去执行,然后就打完收工了。
蓝帅
蓝帅
好的,谢谢
返回顶部
顶部