Ⅰ.前言

      一天四更,高产似母猪啊。接下来讲解数据库的删除操作。

Ⅱ.正题

1.单条数据删除

        Delegator delegator = ctx.getDelegator();        GenericValue genericValue = delegator.makeValue("tableName1");        genericValue.put("PK", "PKValue"); //主键        delegator.removeValue(genericValue); 
Java

2.条件多条数据删除

        Delegator delegator = ctx.getDelegator();        //查询条件也可以多重,具体参考多条件查询 EntityOperator不止EQUALS,还有NOT_EQUAL、LESS_THAN、LIKE等        EntityCondition entityCondition = EntityCondition.makeCondition("column1", EntityOperator.EQUALS, "value1");        delegator.removeByCondition("tableName", entityCondition); 
Java

3.混合条件数据删除

      用到了removeAll()方法,如果存在主键,则按照主键删除数据,如果没有主键,则按照传入的值条件删除。如果不传任何参数,则删除全表,我想这个应该不会有人用吧。😄具体逻辑查看源码。

        Delegator delegator = ctx.getDelegator();        GenericValue genericValue1 = delegator.makeValue("tableName1");        genericValue1.put("PK", "PKValue"); //主键        genericValue1.set("column1", "value1");    //传入值        GenericValue genericValue2 = delegator.makeValue("tableName2");        genericValue2.put("PK", "PKValue"); //主键        genericValue2.set("column1", "value1");    //传入值        List list = new ArrayList() {{            add(genericValue1);            add(genericValue2);        }};        delegator.removeAll(list); 
Java

Ⅲ.结尾

      嗨呀,上一天班,划一天水,罪过罪过啊。😜