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

深圳专业网站建设排名免费网站友情链接

深圳专业网站建设排名,免费网站友情链接,北京出啥大事了今天,wordpress如何设置首页Mybatis-Plus条件构造器QueryWrapper 1、条件构造器关系介绍 介绍 : 上图绿色框为抽象类 蓝色框为正常类,可创建对象 黄色箭头指向为父子类关系,箭头指向为父类 wapper介绍 : Wrapper : 条件构造抽象类&#xff0…

Mybatis-Plus条件构造器QueryWrapper

1、条件构造器关系介绍

在这里插入图片描述

介绍 :

  • 上图绿色框为抽象类

  • 蓝色框为正常类,可创建对象

  • 黄色箭头指向为父子类关系,箭头指向为父类

wapper介绍 :

  • Wrapper : 条件构造抽象类,最顶端父类,抽象类中提供4个方法

  • AbstractWrapper : 用于查询条件封装,生成 sql 的 where 条件

  • AbstractLambdaWrapper : Lambda 语法使用 Wrapper 统一处理解析 lambda 获取 column

  • LambdaQueryWrapper :用于Lambda语法使用的查询 Wrapper

  • LambdaUpdateWrapper : Lambda 更新封装 Wrapper

  • QueryWrapper : Entity 对象封装操作类,不是用 lambda 语法

  • UpdateWrapper : Update 条件封装,用于 Entity 对象更新操作

解释:

在这里插入图片描述

2、构造器条件

package com.lqf.crud;import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.lqf.crud.bean.crm.User;
import com.lqf.crud.dao.crm.UserMapper;
import com.sun.org.apache.xerces.internal.util.EntityResolverWrapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.session.RowBounds;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.web.jsf.el.WebApplicationContextFacesELResolver;import javax.naming.Name;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;@RunWith(SpringRunner.class)
@SpringBootTest
public class QueryWrapperTests {@Autowiredprivate UserMapper mapper;/*** <p>* 根据根据entity条件,删除记录,QueryWrapper实体对象封装操作类(可以为 null)* 下方获取到queryWrapper后删除的查询条件为name字段为null的and年龄大于等于12的and email字段不为null的* 同理写法条件添加的方式就不做过多介绍了。* </p>*/@Testpublic void delete() {QueryWrapper<User> queryWrapper = new QueryWrapper<>();queryWrapper.isNull("name").ge("age", 12).isNotNull("email");int delete = mapper.delete(queryWrapper);System.out.println("delete return count = " + delete);}/*** <p>* 根据entity条件,查询一条记录,* 这里和上方删除构造条件一样,只是seletOne返回的是一条实体记录,当出现多条时会报错* </p>*/@Testpublic void selectOne() {QueryWrapper<User> queryWrapper = new QueryWrapper<>();queryWrapper.eq("name", "lqf");User user = mapper.selectOne(queryWrapper);System.out.println(user);}/*** <p>* 根据Wrapper条件,查询总记录数* </p>** @param queryWrapper 实体对象*/@Testpublic void selectCount() {QueryWrapper<User> queryWrapper = new QueryWrapper<>();queryWrapper.eq("name", "lqf");Integer count = mapper.selectCount(queryWrapper);System.out.println(count);}/*** <p>* 根据 entity 条件,查询全部记录* </p>** @param queryWrapper实体对象封装操作类(可以为null)为null查询全部*/@Testpublic void selectList() {List<User> list = mapper.selectList(null);System.out.println(list);}/*** <p>* 根据 Wrapper 条件,查询全部记录* </p>** @param queryWrapper 实体对象封装操作类(可以为 null)*/@Testpublic void selectMaps() {QueryWrapper<User> queryWrapper = new QueryWrapper<>();queryWrapper.isNotNull("name");List<Map<String, Object>> maps = mapper.selectMaps(queryWrapper);for (Map<String, Object> map : maps) {System.out.println(map);}}/*** 打印结果* {name=lqf, id=1046282328366391406, age=12, email=lqf@163.com, status=false}* {name=lqf, id=1046282328366391407, age=12, email=lqf@163.com, status=false}* {name=lqf, id=1046282328366391408, age=12, email=lqf@163.com, status=false}* {name=lqf, id=1046282328366391409, age=12, email=lqf@163.com, status=false}* {name=lqf, id=1046282328366391410, age=12, email=lqf@163.com, status=false}* {name=lqf, id=1046282328366391411, age=12, email=lqf@163.com, status=false}* {name=lqf, id=1046282328366391412, age=12, email=lqf@163.com, status=false}* {name=lqf, id=1046282328366391413, age=12, email=lqf@163.com, status=false}* {name=lqf, id=1046282328366391414, age=12, email=lqf@163.com, status=false}* {name=lqf, id=1046282328366391415, age=12, email=lqf@163.com, status=false}* {name=lqf, id=1046282328366391416, age=12, email=lqf@163.com, status=false}* {name=lqf, id=1046282328366391417, age=12, email=lqf@163.com, status=false}* {name=lqf, id=1046282328366391418, age=12, email=lqf@163.com, status=false}* json类型的键值对模式*//*** <p>* 根据 entity 条件,查询全部记录(并翻页)* </p>** @param page         分页查询条件(可以为 RowBounds.DEFAULT)* @param queryWrapper 实体对象封装操作类(可以为 null)*/@Testpublic void selectPage() {Page<User> page = new Page<>(1, 5);QueryWrapper<User> queryWrapper = new QueryWrapper<>();IPage<User> userIPage = mapper.selectPage(page, queryWrapper);System.out.println(userIPage);}/*** 打印结果* ==>  Preparing: SELECT COUNT(1) FROM user* ==> Parameters:* <==    Columns: COUNT(1)* <==        Row: 100* ==>  Preparing: SELECT id,name,age,email,status FROM user LIMIT 0,5* ==> Parameters:* <==    Columns: id, name, age, email, status* <==        Row: 1046282328366391319, lqf, 12, lqf@163.com, 0* <==        Row: 1046282328366391320, lqf, 12, lqf@163.com, 0* <==        Row: 1046282328366391321, lqf, 12, lqf@163.com, 0* <==        Row: 1046282328366391322, lqf, 12, lqf@163.com, 0* <==        Row: 1046282328366391323, lqf, 12, lqf@163.com, 0* <==      Total: 5*** 这里需要在项目中加入分页插件*   @Bean*     public PaginationInterceptor paginationInterceptor() {*         return new PaginationInterceptor();*     }*//*** <p>* 根据 Wrapper 条件,查询全部记录(并翻页)* </p>** @param page         分页查询条件* @param queryWrapper 实体对象封装操作类*/@Testpublic void selectMapsPage() {Page<User> page = new Page<>(1, 5);QueryWrapper<User> queryWrapper = new QueryWrapper<>();IPage<Map<String, Object>> mapIPage = mapper.selectMapsPage(page, queryWrapper);System.out.println(mapIPage);}/*** 和上个分页同理只是返回类型不同*//*** <p>* 根据 whereEntity 条件,更新记录* </p>** @param entity        实体对象 (set 条件值,不能为 null)* @param updateWrapper 实体对象封装操作类(可以为 null,里面的 entity 用于生成 where 语句)*/@Testpublic void update() {//修改值User user = new User();user.setStatus(true);user.setName("zhangsan");//修改条件sUpdateWrapper<User> userUpdateWrapper = new UpdateWrapper<>();userUpdateWrapper.eq("name", "lqf");int update = mapper.update(user, userUpdateWrapper);System.out.println(update);}/*** 打印结果* ==>  Preparing: UPDATE user SET name=?, status=? WHERE name = ?* ==> Parameters: zhangsan(String), true(Boolean), lqf(String)* <==    Updates: 100* Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@56a4f272]* 100* 2018-10-02 15:08:03.928  INFO 7972 --- [       Thread-2] o.s.w.c.s.GenericWebApplicationContext   : Closing org.springframework.web.context.support.GenericWebApplicationContext@37313c65: startup date [Tue Oct 02 15:08:00 CST 2018]; root of context hierarchy* 2018-10-02 15:08:03.937  INFO 7972 --- [       Thread-2] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown initiated...* 2018-10-02 15:08:04.053  INFO 7972 --- [       Thread-2] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown completed.** Process finished with exit code 0*/}
http://www.hotlads.com/news/2725.html

相关文章:

  • 直播是网站怎么做浏览器下载安装2023版本
  • 日本室内设计官网说说seo论坛
  • 014最新电影网站源码程序|自动采集|一键采集|静态生成|联盟利器html家乡网站设计
  • phpcms 网站访问统计如何建造一个网站
  • 离石网站建设公司淘宝关键词怎么选取
  • 下载空间大的网站建设全网营销图片
  • 建设银行扬中网站ks数据分析神器
  • 甘肃网站制作公司爱论坛
  • 业之峰家装公司地址简述搜索引擎优化的方法
  • b站推出的短视频app哪个好电子商务网站设计方案
  • 护士公共课在哪个网站做营销策略都有哪些方面
  • 平台戚里带崇墉视频号排名优化帝搜软件
  • 网站专题策划网站开发步骤
  • 低价的网站建设外贸推广是做什么的
  • 成都企业模版网站建设网络营销推广方案整合
  • 大连提高网站排名seo排名如何
  • 网站购买域名之后再怎么做湖北短视频搜索seo
  • 个人做网站要缴税谷歌搜索引擎下载安装
  • 网站栏目做跳转后不显示武汉网站竞价推广
  • rss 网站插件优化是什么意思?
  • 延庆b2c网站制作价格2024政治时政热点
  • 郑州房地产网站建设推广优化厂商联系方式
  • 常见的微信营销方式有哪些武汉seo优化顾问
  • 网站开发维护多少钱企业网站建设的目的
  • 做响应式网站设计师需要做什么seo是什么服务
  • 中高端网站开发2023年5月份病毒感染情况
  • 淘宝客网站WordPressgoogle浏览器官网下载
  • 宝山做网站公司国外b站推广网站
  • 北京网站建设公司网站优化资讯友情链接网站源码
  • 通过关键词优化提升企业网站企业网络营销青岛