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

西安网站建设有那些公司好兰州网站建设多少钱

西安网站建设有那些公司好,兰州网站建设多少钱,网站标头图片切换,仓山网站建设4.5.Wrapper条件构造器 Wrapper #xff1a; 条件构造抽象类#xff0c;最顶端父类 AbstractWrapper #xff1a; 用于查询条件封装#xff0c;生成 sql 的 where 条件 QueryWrapper #xff1a; Entity 对象封装操作类#xff0c;不是用lambda语法 UpdateWrapper 条件构造抽象类最顶端父类 AbstractWrapper 用于查询条件封装生成 sql 的 where 条件 QueryWrapper Entity 对象封装操作类不是用lambda语法 UpdateWrapper Update 条件封装用于Entity对象更新操作 AbstractLambdaWrapper Lambda 语法使用 Wrapper统一处理解析 lambda 获取 column。 LambdaQueryWrapper 看名称也能明白就是用于Lambda语法使用的查询Wrapper LambdaUpdateWrapper Lambda 更新封装Wrapper 具体方法可以参考官网 条件构造器 | MyBatis-Plus (baomidou.com) 4.5.1.基本结构 queryWrapper.方式( 判断标识, 实体类属性(对应字段), 查询值) 第一个参数 判断标识 : 是根据查询值的有效性来判断是否增加这条查询条件, boolean类型, false 不增加这条查询 第二个参数 实体类属性(对应字段) : 可以使用lambda表达式指明字段 如: RepositoryInfo::getRepositoryName 第三个参数 查询值 : 外部传来的用于查询的值 queryWrapper.like( true, RepositoryInfo::getRepositoryName, 西部);生成 sql 为 select repository_id, repository_name, repository_code, repository_phone, repository_state, repository_address, repository_start_date from repository_info where repository_name like %西部%4.5.2. 常见用法 ( 一 ) 模糊查询 .like() LIKE ‘%值%’ .likeLeft() LIKE ‘%值’ .likeRight() LIKE ‘值%’ 精确查询 .eq() 值 .ne() ! 值 范围查询 .gt() 值 .ge() 值 .lt() 值 .le() 值 .between() BETWEEN 值1 AND 值2 排序 .orderByAsc() ORDER BY 字段, … ASC .orderByDesc() ORDER BY 字段, … DESC 实例: 封装查询条件 page类 import lombok.Data; import org.springframework.format.annotation.DateTimeFormat;import java.util.Date;Data public class RepositoryInfoPage {/*** 仓库名称 模糊查询 like*/private String repositoryName;/*** 仓库代号 精确查询 eq*/private String repositoryCode;/*** 启动时间* 范围查询 gt lt*/DateTimeFormat(pattern yyyy-MM-dd)private Date repositoryStartDateFrom;DateTimeFormat(pattern yyyy-MM-dd)private Date repositoryStartDateTo;/*** 仓库状态#state#0停用, 1可用 -1 全部* 精确查询 eq*/private Integer repositoryState -1;}通过 LambdaQueryWrapper 组织条件进行查询, 根据 RepositoryInfoPage 接收到查询信息, 并对repository_phone 进行排序 使用 链式写法 // 组织条件 LambdaQueryWrapperRepositoryInfo queryWrapper new LambdaQueryWrapperRepositoryInfo().like(page.getRepositoryName() ! null, RepositoryInfo::getRepositoryName, page.getRepositoryName()).eq(!StringUtils.isEmpty(page.getRepositoryCode()), RepositoryInfo::getRepositoryCode, page.getRepositoryCode()).ge(page.getRepositoryStartDateFrom() ! null, RepositoryInfo::getRepositoryStartDate, page.getRepositoryStartDateFrom()).le(page.getRepositoryStartDateTo() ! null, RepositoryInfo::getRepositoryStartDate, page.getRepositoryStartDateTo()).eq(page.getRepositoryState() ! null page.getRepositoryState() ! -1, RepositoryInfo::getRepositoryState, page.getRepositoryState()).orderByAsc(RepositoryInfo::getRepositoryPhone);// 进行查询 ListRepositoryInfo list repositoryInfoService.list(queryWrapper);生成 SQL SELECT repository_id,repository_name,repository_code,repository_phone,repository_state,repository_address,repository_start_date FROM repository_info WHERE (repository_name LIKE ? AND repository_code ? AND repository_start_date ? AND repository_start_date ? AND repository_state ?) ORDER BY repository_phone ASC4.5.3.常见用法 ( 二 ) 空值查询 .isNull() 字段 IS NULL .isNotNull() 字段 IS NOT NULL 筛选查询 .in() 字段 IN (values.get(0), values.get(1), …) .notIn() 字段 NOT IN (values.get(0), values.get(1), …) ​ .inSql() 字段 NOT IN ( sql语句 ) 追加SQL .last( sql 语句 ) 将 sql 语句 拼接到 sql 的最后 实例: page.getNums() 是 [1, 3, 5 ] 的集合 // 组织条件 LambdaQueryWrapperBrandInfo queryWrapper new LambdaQueryWrapperBrandInfo().isNotNull( BrandInfo::getBrandCnName).in(page.getNums() ! null page.getNums().size() 0, BrandInfo::getBrandNum, page.getNums()).last( limit 10 ); // 进行查询 ListBrandInfo list brandInfoService.list(queryWrapper) ;生成 SQL SELECT brand_id,brand_cn_name,brand_en_name,brand_logo_path,brand_web_url,brand_num,brand_info,brand_founded_date FROM brand_info WHERE (brand_cn_name IS NOT NULL AND brand_num IN (?,?,?)) limit 104.5.4.常见用法( 三 ) 嵌套 .and() : 相连的条件必须同时满足, 默认都是 and 相连 .or() : 主动调用or表示紧接着下一个方法不是用and连接!(不调用or则默认为使用and连接) 两个配合通常可以 建立比较 复杂的查询 .nested() : 正常嵌套 不带 AND 或者 OR ​ 实例 1: BrandNum 2 同时( and ) BrandCnName like ‘hua’ 或者 BrandCnName like ‘hua’ // 组织条件 LambdaQueryWrapperBrandInfo queryWrapper new LambdaQueryWrapperBrandInfo().eq( num ! null, BrandInfo::getBrandNum, num ).like( !StringUtils.isEmpty(name), BrandInfo::getBrandCnName, name).or().like( !StringUtils.isEmpty(name), BrandInfo::getBrandEnName, name); // 进行查询 ListBrandInfo list brandInfoService.list(queryWrapper);生成 SQL SELECT brand_id,brand_cn_name,brand_en_name,brand_logo_path,brand_web_url,brand_num,brand_info,brand_founded_date FROM brand_info WHERE (brand_num ? AND brand_cn_name LIKE ? OR brand_en_name LIKE ?)Parameters: 2(Integer), %hua%(String), %hua%(String)Row: 1, 华为, huawei, /images/brand/huawei.png, https://www.vmall.com/, 2, 中华有为,华为是一家全球领先的信息通信技术解决方案提供商致力于推动数字化智能化的时代发展。, 2003-11-13 Row: 35, 施华洛世奇, shihua, /images/brand/shihua.png, https://shihua.com/, 2, 施华洛世奇是一家奢侈品和珠宝品牌以其精美的水晶产品和精湛的工艺而享誉全球。, 1972-07-14 Total: 2实例 2: BrandNum 2 或者( or ) BrandCnName like ‘hua’ 或者 BrandCnName like ‘hua’ // 组织条件 LambdaQueryWrapperBrandInfo queryWrapper new LambdaQueryWrapperBrandInfo().eq(num ! null, BrandInfo::getBrandNum, num ).or(i-i.like( !StringUtils.isEmpty(name), BrandInfo::getBrandCnName, name).or().like( !StringUtils.isEmpty(name), BrandInfo::getBrandEnName, name)); // 进行查询 ListBrandInfo list brandInfoService.list(queryWrapper);生成 SQL SELECT brand_id,brand_cn_name,brand_en_name,brand_logo_path,brand_web_url,brand_num,brand_info,brand_founded_date FROM brand_info WHERE (brand_num ? OR (brand_cn_name LIKE ? OR brand_en_name LIKE ?))Parameters: 2(Integer), %hua%(String), %hua%(String)Row: 1, 华为, huawei, /images/brand/huawei.png, https://www.vmall.com/, 2, 中华有为,华为是一家全球领先的信息通信技术解决方案提供商致力于推动数字化智能化的时代发展。, 2003-11-13 Row: 2, 小米, mi, /images/brand/xiaomi.png, https://www.mi.com/, 2, 性价比高,小米是一家中国智能手机和消费电子产品制造商以其高性价比和创新设计而闻名。, 1999-11-08 Row: 6, 佳能, canon, /images/brand/jianeng.png, http://www.canon.com.cn/, 2, 佳能是一家知名的相机和打印机制造商专注于提供优质的影像解决方案和设备。, 1955-06-15 ... Total: 11实例 3: // 组织条件 LambdaQueryWrapperBrandInfo queryWrapper new LambdaQueryWrapperBrandInfo().eq(num ! null, BrandInfo::getBrandNum, num ).and(i-i.like( !StringUtils.isEmpty(name), BrandInfo::getBrandCnName, name).or().like( !StringUtils.isEmpty(name), BrandInfo::getBrandEnName, name)); // 进行查询 ListBrandInfo list brandInfoService.list(queryWrapper);生成 SQL SELECT brand_id,brand_cn_name,brand_en_name,brand_logo_path,brand_web_url,brand_num,brand_info,brand_founded_date FROM brand_info WHERE (brand_num ? AND (brand_cn_name LIKE ? OR brand_en_name LIKE ?))Parameters: 2(Integer), %hua%(String), %hua%(String)Row: 1, 华为, huawei, /images/brand/huawei.png, https://www.vmall.com/, 2, 中华有为,华为是一家全球领先的信息通信技术解决方案提供商致力于推动数字化智能化的时代发展。, 2003-11-13 Row: 35, 施华洛世奇, shihua, /images/brand/shihua.png, https://shihua.com/, 2, 施华洛世奇是一家奢侈品和珠宝品牌以其精美的水晶产品和精湛的工艺而享誉全球。, 1972-07-14Total: 2实例4: 使用 .nested() String name hua; Integer num 2; // 组织条件 LambdaQueryWrapperBrandInfo queryWrapper new LambdaQueryWrapperBrandInfo().nested(i-i.eq( BrandInfo::getBrandNum, num).like(BrandInfo::getBrandCnName, name)).or().nested(i-i.like(BrandInfo::getBrandEnName, name));// 进行查询 ListBrandInfo list brandInfoService.list(queryWrapper);生成 SQL SELECT brand_id,brand_cn_name,brand_en_name,brand_logo_path,brand_web_url,brand_num,brand_info,brand_founded_date FROM brand_info WHERE ((brand_num ? AND brand_cn_name LIKE ?) OR (brand_en_name LIKE ?))4.5.5.常见用法( 四 ) 分组 .select() : 相当于定义 select 查询的字段 .lambda() : 将 QueryWrapper() 转换成 LambdaQueryWrapper() , 就可以使用 Lambda 语法 .groupBy() : 分组 .having( sql ) : 对 分组结果 进行筛选, 可以使用 SQL 调用 聚合函数 实例 1: new 时 是 QueryWrapper 为了使用 select() 自定义字段 通过 lambda() 转成 LambdaQueryWrapper() // 组织条件 LambdaQueryWrapperBrandInfo queryWrapper new QueryWrapperBrandInfo().select(brand_num, count(0) count).lambda().groupBy(BrandInfo::getBrandNum).having( count(0) 2); // 进行查询 ListBrandInfo list brandInfoService.list(queryWrapper); System.out.println(list list);生成 SQL SELECT brand_num, count(0) count FROM brand_info GROUP BY brand_num HAVING count(0) 2Row: 2, 11 Row: 3, 14 Row: 4, 9 Row: 1, 9Total: 4list [BrandInfo(brandIdnull, brandCnNamenull, brandEnNamenull, brandLogoPathnull, brandWebUrlnull, brandNum2, brandInfonull, brandFoundedDatenull, count11), BrandInfo(brandIdnull, brandCnNamenull, brandEnNamenull, brandLogoPathnull, brandWebUrlnull, brandNum3, brandInfonull, brandFoundedDatenull, count14), BrandInfo(brandIdnull, brandCnNamenull, brandEnNamenull, brandLogoPathnull, brandWebUrlnull, brandNum4, brandInfonull, brandFoundedDatenull, count9), BrandInfo(brandIdnull, brandCnNamenull, brandEnNamenull, brandLogoPathnull, brandWebUrlnull, brandNum1, brandInfonull, brandFoundedDatenull, count9)] 4.5.6.常见用法 ( 五 ) 动态判断 .func(i-{ if(条件) { i.条件(); } else{ i.条件(); } }) : 根据 条件 动态调整SQL 结构 实例: 根据 num 值 判断 执行哪条语句, 因为 num 2 为 false 所以执行 else 语句 String name hua; Integer num 2; // 组织条件 LambdaQueryWrapperBrandInfo queryWrapper new LambdaQueryWrapperBrandInfo().func(i-{if( num 2 ){i.like(BrandInfo::getBrandCnName, name);}else{i.like(BrandInfo::getBrandEnName, name);}});// 进行查询 ListBrandInfo list brandInfoService.list(queryWrapper);生成SQL SELECT brand_id,brand_cn_name,brand_en_name,brand_logo_path,brand_web_url,brand_num,brand_info,brand_founded_date FROM brand_info WHERE (brand_en_name LIKE ?)4.5.7.常见用法 ( 六 ) 函数 apply .apply( sql , params ) : sql 包含 函数 , 可以使用 {index} 进行占位 , params 为 传入的值 实例 1: String date 2020-09-08; // 组织条件 LambdaQueryWrapperBrandInfo queryWrapper new LambdaQueryWrapperBrandInfo().apply( date_format(brand_founded_date,%Y-%m-%d) {0} , date );// 进行查询 ListBrandInfo list brandInfoService.list(queryWrapper);生成 SQL SELECT brand_id,brand_cn_name,brand_en_name,brand_logo_path,brand_web_url,brand_num,brand_info,brand_founded_date FROM brand_info WHERE (date_format(brand_founded_date,%Y-%m-%d) ? )Parameters: 2020-09-08(String)
http://www.pierceye.com/news/1064/

相关文章:

  • 莆田自助建站软件站长工具端口扫描
  • 响应式网站优势网站建设方案 pdf
  • 爱站工具包的模块自适应网站制作费用
  • 福州做网站的公建设人才服务中心
  • 查看网站域名现在做网站用什么
  • 网站申请服务器空间网站建设网页
  • 邯郸哪做网站优化网站聊城
  • 淘客网站如何做推广金融互助网站开发
  • 京东企业的电子网站建设武威做网站
  • 网站建设与管理学校微信推广软件
  • 站酷魔方网站建设中外贸品牌推广公司
  • 平台网站模板 优帮云php做视频网站源码
  • 做百度推广是不是得有个网站先网站制作动态转静态怎么做
  • 部队网站源码怎样注册小程序
  • 房地产网站建设报价大学生创业计划书完整版
  • 可以做思维导图的网站打开网站显示404
  • 昆明做网站优化公司企业宣传片模板免费
  • 重庆响应式网站多少钱做医疗信息网站的域名
  • 苏州企业网站建设开发与制作wordpress 主题 图片
  • 成都建网站要多少钱医院管理系统
  • 杭州做网站下沙有哪些做婚品的网站
  • 免费个人电子版简历下载网站代码优化的方法
  • 电商网站建设试题单纯做网站的公司
  • 网站怎么做才算精致用flash做网站
  • 下载一个网站的源码下载建设官方网站企业网银登录
  • 做个兼职网站设计怎么给网站图片加alt
  • 建设银行 上海科技中心网站宣城网站建设公司
  • seo网站打开慢打开网站弹出视频js
  • 那些做环保网站的好潞城市网站建设公司
  • 免费的破解版wordpress主题最好的网站排名优化工作室