多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## **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");