【浅谈】Mybatis-plus的wrapper构建和使用_第1页
【浅谈】Mybatis-plus的wrapper构建和使用_第2页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Mybatis-pluswrapper构建和使、wapper介绍Wrapper : 条件构造抽象类,最顶端类AbstractWrapper : 于查询条件封装,成 sql 的 where 条件QueryWrapper : Entity 对象封装操作类,不是lambda语法UpdateWrapper : Update 条件封装,于Entity对象更新操作AbstractLambdaWrapper : Lambda 语法使 Wrapper统处理解析 lambda 获取 column。LambdaQueryWrapper :看名称也能明就是于Lambda语法使的查询WrapperLambdaUpda

2、teWrapper : Lambda 更新封装WrapperSpringBootTestpublic class QueryWrapperTests Autowiredprivate UserMapper userMapper;、AbstractWrapper注意:以下条件构造器的法参中的column 均表数据库字段、Testpublic void testDelete() QueryWrapper queryWrapper = new QueryWrapper();queryWrapper.isNull(name).ge(age, 12)System.out.println(delete r

3、eturn count = + result);SQL:UPDATE user SET deleted=1 WHERE deleted=0 AND name IS NULL AND age = ? AND email IS NOT NULL、注意:seletOne返回的是条实体记录,当出现多条时会报错TestQueryWrapper queryWrapper = new QueryWrapper();queryWrapper.eq(name, Tom);User user = userMapper.selectOne(queryWrapper);System.out.println(user)

4、;、包含边界TestQueryWrapper queryWrapper = new QueryWrapper();queryWrapper.between(age, 20, 30);System.out.println(count);SELECT COUNT(1) FROM user WHERE deleted=0 AND age BETWEEN ? AND ?、Testpublic void testSelectList() QueryWrapper queryWrapper = new QueryWrapper();Map map = new HashMap();map.put(id, 2

5、);map.put(name, Jack);map.put(age, 20);9queryWrapper.allEq(map);List users = userMapper.selectList(queryWrapper);users.forEach(System.out:println);SELECT id,name,age,email,create_time,update_time,deleted,version FROM user WHERE deleted=0 AND name = ? AND id = ?AND age = ?、selectMaps返回Map集合列表TestQuer

6、yWrapper queryWrapper = new QueryWrapper();maps.forEach(System.out:println);SELECT id,name,age,email,create_time,update_time,deleted,version FROM user WHERE deleted=0 AND name NOT LIKE ?AND email LIKE ?、in、notIn:notIn(age,1,2,3)-age not in (1,2,3)notIn(age, 1, 2, 3)-age not in (1,2,3)inSql、notinSql:

7、可以实现查询例:inSql(age, 1,2,3,4,5,6)-age in (1,2,3,4,5,6)例:inSql(id, select id from table where id id in (select id from table where id 3)Testpublic void testSelectObjs() QueryWrapper queryWrapper = new QueryWrapper();/queryWrapper.in(id, 1, 2, 3);queryWrapper.inSql(id, select id from user where id 3);Li

8、st objects = userMapper.selectObjs(queryWrapper);/ Object列表objects.forEach(System.out:println);SELECT id,name,age,email,create_time,update_time,deleted,version FROM user WHERE deleted=0 AND id IN (select id fromuser where id i.eq(name, ).ne(age, 20);int result = userMapper.update(user, userUpdateWra

9、pper);System.out.println(result);UPDATE user SET name=?, age=?, update_time=?WHERE deleted=0 AND name LIKE ?OR ( name = ? AND age ? )、TestQueryWrapper queryWrapper = new QueryWrapper();queryWrapper.orderByDesc(id);users.forEach(System.out:println);SELECT id,name,age,email,create_time,update_time,del

10、eted,versionFROM user WHERE deleted=0 ORDER BY id DESC、直接拼接到 sql 的最后注意:只能调次,多次调以最后次为准 有sql注的风险,请谨慎使Testusers.forEach(System.out:println);SELECT id,name,age,email,create_time,update_time,deleted,versionFROM user WHERE deleted=0 limit 1Testpublic void testSelectListColumn() QueryWrapper queryWrapper = new QueryWrapper();queryWrapper.select(id, name, age);List users = userMapper.selectList(queryWrapper);users.forEach(System.out:println);SELECT id,name,age FROM user WHERE deleted=0、最终的sql会合并 user.setAge(),以及 userUpdateWrapper.set() 和 setSql() 中 的字段Test/修改条件.like(name, h).set(name, )/set设置修改的字段

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论