当前位置: 首页 > news >正文

绍兴网站定制公司邯郸网络用语

绍兴网站定制公司,邯郸网络用语,WordPress nex,网业设计与制作用到了wrapper,整理资料记录一下,以备后续复习。 一、wapper介绍 : Wrapper : 条件构造抽象类,最顶端父类 AbstractWrapper : 用于查询条件封装,生成 sql 的 where 条件 QueryWrapper &#xf…

用到了wrapper,整理资料记录一下,以备后续复习。

一、wapper介绍 :

Wrapper : 条件构造抽象类,最顶端父类
AbstractWrapper : 用于查询条件封装,生成 sql 的 where 条件
QueryWrapper : Entity 对象封装操作类,不是用lambda语法
UpdateWrapper : Update 条件封装,用于Entity对象更新操作
AbstractLambdaWrapper : Lambda 语法使用 Wrapper统一处理解析 lambda 获取 column。
LambdaQueryWrapper :看名称也能明白就是用于Lambda语法使用的查询Wrapper
LambdaUpdateWrapper : Lambda 更新封装Wrapper

在这里插入图片描述

二、项目实例

1、根据主键或者简单的查询条件进行查询

    /*** 通过单个ID主键进行查询*/@Testpublic void selectById() {User user = userMapper.selectById(1094592041087729666L);System.out.println(user);}/*** 通过多个ID主键查询*/@Testpublic void selectByList() {List<Long> longs = Arrays.asList(1094592041087729666L, 1094590409767661570L);List<User> users = userMapper.selectBatchIds(longs);users.forEach(System.out::println);}/*** 通过Map参数进行查询*/@Testpublic void selectByMap() {Map<String, Object> params = new HashMap<>();params.put("name", "张雨琪");List<User> users = userMapper.selectByMap(params);users.forEach(System.out::println);}

2、MyBatis-Plus还提供了Wrapper条件构造器,具体使用看如下代码:

/*** 名字包含雨并且年龄小于40* <p>* WHERE name LIKE '%雨%' AND age < 40*/@Testpublic void selectByWrapperOne() {QueryWrapper<User> wrapper = new QueryWrapper();wrapper.like("name", "雨").lt("age", 40);List<User> users = userMapper.selectList(wrapper);users.forEach(System.out::println);}/*** 名字包含雨* 年龄大于20小于40* 邮箱不能为空* <p>* WHERE name LIKE '%雨%' AND age BETWEEN 20 AND 40 AND email IS NOT NULL*/@Testpublic void selectByWrapperTwo() {QueryWrapper<User> wrapper = Wrappers.query();wrapper.like("name", "雨").between("age", 20, 40).isNotNull("email");List<User> users = userMapper.selectList(wrapper);users.forEach(System.out::println);}/*** 名字为王性* 或者年龄大于等于25* 按照年龄降序排序,年龄相同按照id升序排序* <p>* WHERE name LIKE '王%' OR age >= 25 ORDER BY age DESC , id ASC*/@Testpublic void selectByWrapperThree() {QueryWrapper<User> wrapper = Wrappers.query();wrapper.likeRight("name", "王").or().ge("age", 25).orderByDesc("age").orderByAsc("id");List<User> users = userMapper.selectList(wrapper);users.forEach(System.out::println);}/*** 查询创建时间为2019年2月14* 并且上级领导姓王* <p>* WHERE date_format(create_time,'%Y-%m-%d') = '2019-02-14' AND manager_id IN (select id from user where name like '王%')*/@Testpublic void selectByWrapperFour() {QueryWrapper<User> wrapper = Wrappers.query();wrapper.apply("date_format(create_time,'%Y-%m-%d') = {0}", "2019-02-14").inSql("manager_id", "select id from user where name like '王%'");List<User> users = userMapper.selectList(wrapper);users.forEach(System.out::println);}/*** 查询王姓* 并且年龄小于40或者邮箱不为空* <p>* WHERE name LIKE '王%' AND ( age < 40 OR email IS NOT NULL )*/@Testpublic void selectByWrapperFive() {QueryWrapper<User> wrapper = Wrappers.query();wrapper.likeRight("name", "王").and(qw -> qw.lt("age", 40).or().isNotNull("email"));List<User> users = userMapper.selectList(wrapper);users.forEach(System.out::println);}/*** 查询王姓* 并且年龄大于20 、年龄小于40、邮箱不能为空* <p>* WHERE name LIKE ? OR ( age BETWEEN ? AND ? AND email IS NOT NULL )*/@Testpublic void selectByWrapperSix() {QueryWrapper<User> wrapper = Wrappers.query();wrapper.likeRight("name", "王").or(qw -> qw.between("age", 20, 40).isNotNull("email"));List<User> users = userMapper.selectList(wrapper);users.forEach(System.out::println);}/*** (年龄小于40或者邮箱不为空) 并且名字姓王* WHERE ( age < 40 OR email IS NOT NULL ) AND name LIKE '王%'*/@Testpublic void selectByWrapperSeven() {QueryWrapper<User> wrapper = Wrappers.query();wrapper.nested(qw -> qw.lt("age", 40).or().isNotNull("email")).likeRight("name", "王");List<User> users = userMapper.selectList(wrapper);users.forEach(System.out::println);}/*** 查询年龄为30、31、32* WHERE age IN (?,?,?)*/@Testpublic void selectByWrapperEight() {QueryWrapper<User> wrapper = Wrappers.query();wrapper.in("age", Arrays.asList(30, 31, 32));List<User> users = userMapper.selectList(wrapper);users.forEach(System.out::println);}/*** 查询一条数据* limit 1*/@Testpublic void selectByWrapperNine() {QueryWrapper<User> wrapper = Wrappers.query();wrapper.in("age", Arrays.asList(30, 31, 32)).last("limit 1");List<User> users = userMapper.selectList(wrapper);users.forEach(System.out::println);}

三、具体使用操作

1、ge、gt、le、lt、isNull、isNotNull

 
@Test
public void testDelete() {QueryWrapper<User> queryWrapper = new QueryWrapper<>();queryWrapper.isNull("name").ge("age", 12).isNotNull("email");int result = userMapper.delete(queryWrapper);System.out.println("delete return count = " + result);
}

SQL:UPDATE user SET deleted=1 WHERE deleted=0 AND name IS NULL AND age >= ? AND email IS NOT NULL

2、eq、ne

@Test
public void testSelectOne() {QueryWrapper<User> queryWrapper = new QueryWrapper<>();queryWrapper.eq("name", "Tom");User user = userMapper.selectOne(queryWrapper);System.out.println(user);
}

3、between、notBetween

@Test
public void testSelectCount() {QueryWrapper<User> queryWrapper = new QueryWrapper<>();queryWrapper.between("age", 20, 30);Integer count = userMapper.selectCount(queryWrapper);System.out.println(count);
}

SELECT COUNT(1) FROM user WHERE deleted=0 AND age BETWEEN ? AND ?

4、allEq

@Test
public void testSelectList() {QueryWrapper<User> queryWrapper = new QueryWrapper<>();Map<String, Object> map = new HashMap<>();map.put("id", 2);map.put("name", "Jack");map.put("age", 20);queryWrapper.allEq(map);List<User> 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 = ?

5、like、notLike、likeLeft、likeRight

@Test
public void testSelectMaps() {QueryWrapper<User> queryWrapper = new QueryWrapper<>();queryWrapper.notLike("name", "e").likeRight("email", "t");List<Map<String, Object>> maps = userMapper.selectMaps(queryWrapper);//返回值是Map列表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 ?

6、in、notIn、inSql、notinSql、exists、notExists

@Test
public void testSelectObjs() {QueryWrapper<User> queryWrapper = new QueryWrapper<>();//queryWrapper.in("id", 1, 2, 3);queryWrapper.inSql("id", "select id from user where id < 3");List<Object> 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 from user where id < 3)

7、or、and

@Test
public void testUpdate1() {//修改值User user = new User();user.setAge(99);user.setName("Andy");//修改条件UpdateWrapper<User> userUpdateWrapper = new UpdateWrapper<>();userUpdateWrapper.like("name", "h").or().between("age", 20, 30);int result = userMapper.update(user, userUpdateWrapper);System.out.println(result);
}

UPDATE user SET name=?, age=?, update_time=? WHERE deleted=0 AND name LIKE ? OR age BETWEEN ? AND ?

8、orderBy、orderByDesc、orderByAsc

@Test
public void testSelectListOrderBy() {QueryWrapper<User> queryWrapper = new QueryWrapper<>();queryWrapper.orderByDesc("id");List<User> 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 ORDER BY id DESC

9、指定要查询的列

@Test
public void testSelectListColumn() {QueryWrapper<User> queryWrapper = new QueryWrapper<>();queryWrapper.select("id", "name", "age");List<User> users = userMapper.selectList(queryWrapper);users.forEach(System.out::println);
}

SELECT id,name,age FROM user WHERE deleted=0

10、set、setSql

@Test
public void testUpdateSet() {//修改值User user = new User();user.setAge(99);//修改条件UpdateWrapper<User> userUpdateWrapper = new UpdateWrapper<>();userUpdateWrapper.like("name", "h").set("name", "老李头")//除了可以查询还可以使用set设置修改的字段.setSql(" email = '123@qq.com'");//可以有子查询int result = userMapper.update(user, userUpdateWrapper);
}

UPDATE user SET age=?, update_time=?, name=?, email = ‘123@qq.com’ WHERE deleted=0 AND name LIKE ?

http://www.yayakq.cn/news/792479/

相关文章:

  • 建设网站的基本流程是什么asp iis设置网站路径
  • 辽宁响应式网站建设推荐专业企业网站建设
  • 在马来西亚做网站网站合法吗一流的基础微网站开发
  • 网站开发 家具销售 文献常用seo站长工具
  • 网站中的作用wordpress使用教程
  • 东莞营销网站建设哪个平台好专业简历制作管理平台
  • 外包做网站怎么拿源代码重庆网站建设之
  • 兰州网站建设科技公司wordpress翻页数字
  • 深圳专业网站公司想自己做网站 有免费的吗
  • 东莞朝阳网站建设在线seo工具
  • 网站设计博客网站建设有几种方式
  • 做网站意义足球亚洲排名最新排名
  • 哪家网站建设公司比较好wordpress首页做全屏
  • 百度竞价网站怎么做打开网站弹出广告js
  • 网站怎么做快推广方案ai工具推荐
  • 网站seo优化8888淘宝怎么提高关键词搜索排名
  • asp.net网站管理工具宏升温岭网站建设
  • php mysql 网站模板西宁那有做网站的
  • 网站开发合同付款比例爱情动作片做网站
  • 网站开发技术有项目开发平台
  • 做商品网站数据库有哪些怎样建立俄罗斯网站
  • 广东网站备案查询东营网站建设策划内容
  • 阿里云做网站步骤ppt免费模板下载网站有哪些
  • 服务器备案期间网站北京网站平台开发
  • 2023最近的新闻大事济南seo的排名优化
  • 网站建设类别如何自建网站服务器
  • 江苏住房建设厅网站网站一直维护意味着什么
  • 大连专业手机自适应网站建设郑州网站建设企业
  • 餐饮网站建设的模板app手机电视网站设计方案
  • 厦门个人建网站关键词搜索指数查询工具