举个例子:查询数据库中姓名为小陈的人员
QueryWrapper写法:
QueryWrapper<User> qw = new QueryWrapper<User>();
qw.eq("user_name","小陈");
List<User> list = UserMapper.selectList(qw); //查询单个就换成selectOne(qw);
LambdaQueryWrapper写法:
LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<User>();
lqw.eq(User::getUserName,"小陈");
List<User> list = UserMapper.selectList(lqw);
LambdaQueryChainWrapper写法:
List<User> list = new LambdaQueryChainWrapper<>(UserMapper)
.eq(User::getUserName,"小陈")
.list(); //查询单个就把list()换成one()
对比
QueryWrapper相对于LambdaQueryWrapper 来说,前者是需要我们自己手写自动,这样一不留神容易导致字段写错,后者直接是拿的实体类里面的字段,就算写错了也会有提示。
LambdaQueryWrapper相对于LambdaQueryChainWrapper 来说 他是把条件都分开写的,如果想要加条件的话再一行代码就完事了,但是后者来说加一个条件的话就会动到之前的代码,相对来说有一定的侵入性,所以要使用哪个要斟酌一下使用场景。
免责声明:部分文章信息来源于网络以及客户意见反馈,本站只负责对文章进行整理、排版、编辑,出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性,如本站文章和转稿涉及版权等问题,请作者在及时联系本站,我们会尽快联系您处理