# 低开SDO静态代码导出并导⼊到后端⼯程中进⾏使⽤
# 1.场景介绍
在EOS高开项目开发中,可以将低开IDE内创建的持久化实体以SDO静态代码的形式导出,导入到高开项目中以供业务使用。
# 2.实现步骤
1.进入一开平台--开发中心,找到我们实体所在的应用,点击设置图标,切换到源码管理tab页,选择要导出的SDO构建包,

2.将导出的构建包AFCENTER-sdo-static-source.zip解压缩,可以看到构建包目录下的SDO静态代码java文件。

3.拷贝解压缩的整个构建包文件夹liujieContribution,将其放置在高开代码的model模块的src目录下即可。

4.接下来就可以在业务代码中使用这些SDO实体类。

# 3.对SDO实体进行 CRUD 操作
在导入 SDO 静态代码后,可以使用 EOS 提供的 DatabaseDao 类对实体进行增删改查操作。以下以假设的 OrderSupplier 实体为例进行说明。
# 3.1 新增(Create)
import com.primeton.gocom.afcenter.common.dao.DatabaseDao;
import liujieContribution.duojijilian.OrderSupplier;// 导入的SDO实体类
// 设置属性值
OrderSupplier orderSupplier = OrderSupplier.FACTORY.create();
orderSupplier.setSupplierName("上海xx");
orderSupplier.setSupplierCode("xxxx");
// 插入数据库
int result = DatabaseDao.insertEntity(orderSupplier);
# 3.2 更新(Update)
import com.primeton.gocom.afcenter.common.dao.DatabaseDao;
import liujieContribution.duojijilian.OrderSupplier;
// 创建实体实例并设置主键
OrderSupplier orderSupplier = OrderSupplier.FACTORY.create();
orderSupplier.setId("1")
orderSupplier.setSupplierName("上海xx");
orderSupplier.setSupplierCode("xxxx");
// 更新数据库
int result = DatabaseDao.updateEntity(orderSupplier);
# 3.3 删除(Delete)
import com.primeton.gocom.afcenter.common.dao.DatabaseDao;
import liujieContribution.duojijilian.OrderSupplier;
// 创建实体实例并设置主键
OrderSupplier orderSupplier = OrderSupplier.FACTORY.create();
orderSupplier.setId("1")
// 删除记录
int result = DatabaseDao.deleteEntity(orderSupplier);
# 3.4 查询(Read)
使用 CriteriaType 进行条件查询:
import com.primeton.gocom.afcenter.common.dao.DatabaseDao;
import liujieContribution.duojijilian.OrderSupplier;
import com.eos.das.entity.criteria.CriteriaType;
import com.eos.spring.dao.CriteriaBuilder;
import com.eos.system.utility.PageResultList;
CriteriaBuilder cb = new CriteriaBuilder(OrderSupplier.QNAME);
CriteriaType criteriaType = cb
.and("supplierCode", code)
.like("supplierName", name)
.orderBy(orderFields, orderDirection)
.build();
// 分页查询(第1页,每页10条)
PageResultList<OrderSupplier> pageResult = DatabaseDao.queryEntitiesByCriteriaWithPage(criteriaType, 1, 10);
如需更多数据库操作,请详见DataBaseDao详解。