# 数据实体生成的SDO代码调用示例
# 1.场景介绍
EOSStudio中"生成SDO代码"功能,即通过界面向导方式生成实体属性的set()、get()方法,便于业务开发时直接调用。 数据实体生成SDO代码后,很多项目不知道如何创建SDO实例或者直接去new SDO对象,导致调用时报IllegalDataObjectTypeException:can not find entity type:com.primeton.XXX。 本文以Customer实体为例,讲解如何通过代码创建SDO实例并获取CustomerName的值。
# 2.效果展示
创建SDO实例后,代码调试获取CustomerName的值,调试截图如下
# 3.SQL及示例代码
- 建表SQL(以mysql为例):
DROP TABLE IF EXISTS CUSTOMER;
CREATE TABLE CUSTOMER (
ID INT(11) NOT NULL ,
CUSTOMER_NAME VARCHAR(100) NOT NULL COMMENT '客户名称',
CUSTOMER_CODE VARCHAR(100) NOT NULL COMMENT '客户代码',
CRED_TYPE VARCHAR(16) DEFAULT NULL COMMENT '证件类型',
CRED_NO VARCHAR(32) DEFAULT NULL COMMENT '证件号码',
CUSTOMER_PHONE VARCHAR(30) DEFAULT NULL COMMENT '客户电话',
CUSTOMER_ADDRESS VARCHAR(100) DEFAULT NULL COMMENT '客户地址',
REMARK VARCHAR(300) DEFAULT NULL COMMENT '备注',
CREATE_USER VARCHAR(64) DEFAULT NULL COMMENT '创建人',
CREATE_TIME DATETIME DEFAULT NULL COMMENT '创建时间',
UPDATE_USER VARCHAR(64) DEFAULT NULL COMMENT '更新人',
UPDATE_TIME DATETIME DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (ID)
) COMMENT '客户信息
- 示例代码
import java.io.InputStream;
import com.primeton.eos.project.model.customerdataset.DemoCustomer;
import commonj.sdo.Type;
import commonj.sdo.helper.TypeHelper;
import commonj.sdo.helper.XSDHelper;
public class Test {
public static void main(String[] args) {
//com.primeton.eos.project.model.customerdataset为数据集全名,DemoCustomer为实体名称
Type type = TypeHelper.INSTANCE.getType("com.primeton.eos.project.model.customerdataset", "DemoCustomer");
if (type == null) {
//需要load加载一下xsd文件
InputStream stream = DemoCustomer.class.getClassLoader().getResourceAsStream("com/primeton/eos/project/model/customerdataset.xsd");
XSDHelper.INSTANCE.define(stream, null);
}
DemoCustomer dc = DemoCustomer.FACTORY.create();
String a = dc.getCustomerName();
System.out.println("CustomerName=" + a);
}
}