MyBatis-Plus utilise deux champs de la table comme conditions de requête

1. Scène

Dans le développement commercial, MyBatis-Plus est utilisé comme cadre ORM. Le scénario commercial est le suivant : interrogez le package disponible, qui comporte deux champs : la valeur nominale du package (valeur) et la valeur utilisée (utilisée), vous devez ensuite ajouter du jugement lors de l'interrogation. Ce n'est que lorsque la valeur de condition < est utilisée que l'ensemble de données disponible peut être trouvé. C'est très simple en SQL, mais comment y parvenir dans MyBatis-Plus ?

2. Modèle de domaine

2.1 Structure du tableau


CREATE TABLE `tbl_test` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `value` decimal(12,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '数值',
  `used` decimal(12,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '被使用',
  `status` tinyint(4) unsigned NOT NULL DEFAULT '1' COMMENT '状态:0过期,1正常',
  `expire` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '到期时间',
  `createtime` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='测试表';


2.2 Données du tableau

insérer la description de l'image ici

2.3 L'ensemble de données à interroger

insérer la description de l'image ici

3. Réalisez

Parcourez l'API du document officiel pour trouver une solution, https://baomidou.com/pages/10c804/#apply
J'ai vu apply("sql_xxx")que vous pouvez écrire du SQL, où sql_xxx est remplacé par les deux champs que vous souhaitez ajouter pour déterminer le conditions, afin qu'il puisse me satisfaire aux exigences de requête.


List<TblTest> tblTestList = tblTestService.list(new LambdaQueryWrapper<TblTest>()
                .eq(TblTest::getStatus, 1)
                .apply("`used` < `value`") // 只需要加上这个条件即可
                .orderByDesc(TblTest::getId)
            );
            

4. Résumé

Les compétences acquises grâce à la commande Linux man, tant que vous avez besoin de quelque chose en pratique, les auteurs de logiciels généralistes y réfléchiront à l'avance et proposeront une solution. Ce que vous avez à faire est de : localiser rapidement le document correspondant et trouver la solution .

Je suppose que tu aimes

Origine blog.csdn.net/oschina_41731918/article/details/128447623
conseillé
Classement