Opérations sur les entités de données


Ce qui précède décrit une série d'opérations de base de données basées sur l'objet de session ISession. Le processus d'opération présenté ensuite est plus simple et plus direct, entièrement basé sur des objets d'entité de données

Remarque : les objets d'entité de données mentionnés dans cette section doivent ; être fourni via la classe abstraite BaseEntity du framework d'héritage

Insert
User _user = new User();
_user.setId(UUIDUtils.UUID());
_user.setUsername("suninformation");
_user.setPwd(DigestUtils.md5Hex("123456"));
_user.setAge(20);
_user.setSex("F");
// 执行数据插入
_user.save();

// 或者在插入时也可以指定/排除某些字段
_user.save(Fields.create(User.FIELDS.SEX, User.FIELDS.AGE).excluded(true));

// 或者插入前判断记录是否已存在,若已存在则执行记录更新操作
_user.saveOrUpdate();

// 或者执行记录更新操作时仅更新指定的字段
_user.saveOrUpdate(Fields.create(User.FIELDS.SEX, User.FIELDS.AGE));
Update (Update)
User _user = new User();
_user.setId("bc19f5645aa9438089c5e9954e5f1ac5");
_user.setPwd(DigestUtils.md5Hex("654321"));
_user.setAge(20);
_user.setSex("F");
// 执行记录更新
_user.update();

// 或者仅更新指定的字段
_user.update(Fields.create(User.FIELDS.SEX, User.FIELDS.AGE));
Query (Find)
  • Charge basée sur l'enregistrement ID :

    User _user = new User();
    _user.setId("bc19f5645aa9438089c5e9954e5f1ac5");
    // 根据记录ID加载全部字段
    _user = _user.load();
    
    // 或者根据记录ID加载指定的字段
    _user = _user.load(Fields.create(User.FIELDS.USER_NAME, User.FIELDS.SEX, User.FIELDS.AGE));
  • Définissez les conditions via des entités de données (les attributs non vides seront connectés à l'aide de et conditions) et interrogez tous les enregistrements qui remplissent les conditions

    User _user = new User();
    _user.setUsername("suninformation");
    _user.setPwd(DigestUtils.md5Hex("123456"));
    // 返回所有字段
    IResultSet<User> _users = _user.find();
    
    // 或者返回指定的字段
    _users = _user.find(Fields.create(User.FIELDS.ID, User.FIELDS.AGE));
    
    // 或者分页查询
    _users = _user.find(Page.create(1).pageSize(10));
  • Requête de pagination :

    User _user = new User();
    _user.setSex("F");
    
    // 分页查询,返回全部字段
    IResultSet<User> _users = _user.find(Page.create(1).pageSize(10));
    
    // 或者分页查询,返回指定的字段
    _users = _user.find(Fields.create(User.FIELDS.ID, User.FIELDS.AGE), Page.create(1).pageSize(10));
  • Renvoyer uniquement le premier enregistrement qui remplit les conditions (FindFirst):

    User _user = new User();
    _user.setUsername("suninformation");
    _user.setPwd(DigestUtils.md5Hex("123456"));
    
    // 返回与用户名称和密码匹配的第一条记录
    _user = _user.findFirst();
    
    // 或者返回与用户名称和密码匹配的第一条记录的ID和AGE字段
    _user = _user.findFirst(Fields.create(User.FIELDS.ID, User.FIELDS.AGE));
Delete (Delete)
User _user = new User();
_user.setId("bc19f5645aa9438089c5e9954e5f1ac5");

// 根据实体主键删除记录
_user.delete();

Remarque : Les deux bases de données méthodes de fonctionnement présentées ci-dessus Chacune a ses propres caractéristiques, veuillez choisir une méthode plus adaptée en fonction de la situation réelle, ou vous pouvez les mélanger

 ;