[]
        
(Showing Draft Content)

数据库交互

在服务端命令中,可以通过 IDataAccess 接口对数据库进行增删改查。

获取IDataAccess 的方法是 dataContext.getDataAccess()。

本例中使用的示例数据库如下:

image

获取数据示例代码

参数为OData字符串。

public class MyPluginServerCommand extends Command implements ICommandExecutableInServerSide {

    @Override
    public ExecuteResult execute(IServerCommandExecuteContext dataContext) {
        Object data = dataContext.getDataAccess().getTableData("学生表?$select=ID,姓名,年龄");
        ExecuteResult result =  new ExecuteResult();
        result.setMessage(data.toString());
        return result;
    }

    @Override
    public String toString() {
        return "我的服务端命令插件";
    }
}

效果如下:

image

新增数据示例代码

public class MyPluginServerCommand extends Command implements ICommandExecutableInServerSide {

    @Override
    public ExecuteResult execute(IServerCommandExecuteContext dataContext) {
        Map<String,Object> data = new HashMap<>();
        data.put("姓名","赵六");
        data.put("年龄","40");
        dataContext.getDataAccess().addTableData("学生表",data);
        return new ExecuteResult();
    }

    @Override
    public String toString() {
        return "我的服务端命令插件";
    }
}

执行结果如下:

image

删除数据示例代码

public class MyPluginServerCommand extends Command implements ICommandExecutableInServerSide {

    @Override
    public ExecuteResult execute(IServerCommandExecuteContext dataContext) {
        ColumnValuePair data = new ColumnValuePair();
        data.setColumnName("ID");
        data.setValue(2);
        dataContext.getDataAccess().deleteTableData("学生表",data);
        return new ExecuteResult();
    }

    @Override
    public String toString() {
        return "我的服务端命令插件";
    }
}

执行结果如下:

 image