AI写作智能体 自主规划任务,支持联网查询和网页读取,多模态高效创作各类分析报告、商业计划、营销方案、教学内容等。 广告
## **6.2.3 load单对象加载** ### **load主键加载** * 简单使用: Serializable load(final Serializable entity) throws Exception; 在Dao中写一个方法通过super.load(xxVO),如: public DictDetailVO getDictDetail(String dictTypeCode, String dictKey) throws Exception { ``` return (DictDetailVO) super.load(new DictDetailVO(dictTypeCode,dictKey)); ``` } * Lock加载(即锁加载),LockMode是枚举类型分UPGRADE、UPGRADE\_NOWAIT两种 Serializable load(final Serializable entity, final LockMode lockMode) throws Exception; 锁加载一般用于获取数据并锁定数据,然后进行修改保存,避免修改过程中被他人修改。 * 指定数据库源加载对象 Serializable load(final Serializable entity, final LockMode lockMode, final DataSource dataSource)throws Exception; ### **loadCascade级联加载:** ![](https://img.kancloud.cn/e2/d5/e2d52aa0d92a0b64b444a1115f56e8bf_1073x354.png) ### **loadBySql根据sql语句获取单个对象** ![](https://img.kancloud.cn/23/00/23002c4510c68eff33ab944029f4ee7c_1020x695.png) ## **6.2.4 loadAll批量加载** 根据批量VO的主键查询这些VO的详细信息,Cascade表示级联加载,会加载其子表关联的所有记录。 注:sqltoy批量加载采取了优化策略,不同于hibernate以及mybatis的做法,批量价值主表对象是一次性查询,子表也是一次性查询(而不是通过主键一个一个的去查询子表),所以执行效率非常高。 ![](https://img.kancloud.cn/44/e5/44e5644c96bc3fd92a4abae5a8377fe9_1003x631.png) ## 6.2.5 loadByIds 根据主键批量加载对象 ![](https://img.kancloud.cn/88/dd/88dd21df0127a52f9e6a355740af6338_1161x426.png) 例如: List<StaffInfoVO> staffInfos = sqlToyCRUDService.loadByIds(StaffInfoVO.class, "S2007", "S0001");