1 快速上手

2 JFinalConfig

3 Controller

4 AOP

5 ActiveRecord

6 Enjoy 模板引擎

7 EhCachePlugin

8 RedisPlugin

9 Cron4jPlugin

10 Validator

11 国际化

12 Json 转换

13 JFinal架构及扩展

14 升级到 4.4

5.16 调用存储过程

? ? 使用工具类 Db 可以很方便调用存储过程,以下是代码示例:

Db.execute((connection)?->?{
????CallableStatement?cs?=?connection.prepareCall(...);
????cs.setObject(1,?...);
????cs.setObject(2,?...);
????cs.execute();
????cs.close();
????return?cs.getObject(1);
});

? ?如上所示,使用 Db.execute(...) 可以很方便去调用存储过程,其中的 connection 是一个 Connection 类型的对象,该对象在使用完以后,不必 close(),因为 jfinal 在上层会默认帮你 close() 掉。


? ?此外,MySQL 之下还可以使用更简单的方式调用存储过程:

//?调用存储过程,查询?salary?表
Record?first?=?Db.findFirst("CALL?FindSalary?(1,\"201901\")");

//?调用存储过程,插入?salary?表
int?update2?=?Db.update("CALL?InsertSalary?(3,?123)");

//?调用存储过程,更新?salary?表
int?update?=?Db.update("CALL?UpdateSalary?(3,?99999)");

//?调用存储过程,删除?salary?表
int?delete?=?Db.delete("CALL?DeleteSalary(3)");