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

电商思维做招聘网站seo关键词优化案例

电商思维做招聘网站,seo关键词优化案例,建网站做联盟,谷歌应用商店app下载#x1f340; 前言 博客地址#xff1a; CSDN#xff1a;https://blog.csdn.net/powerbiubiu #x1f44b; 简介 上一章介绍了新增的操作#xff0c;后续删除#xff0c;更新#xff0c;查询的操作相对新增要复杂一些#xff0c;因为有些方法的使用涉及到了条件 前言 博客地址 CSDNhttps://blog.csdn.net/powerbiubiu 简介 上一章介绍了新增的操作后续删除更新查询的操作相对新增要复杂一些因为有些方法的使用涉及到了条件比如sql中查询的时候需要条件筛选比如where age 18where name like %A%等条件。所以本章专门介绍一下Mybatis-Plus提供的条件构造器的使用。 Mybatis-Plus对条件构造器详细介绍的官网地址 正文 1 条件构造器的介绍 在 Mybatis-Plus 中利用条件构造器 Wrapper可以帮助我们组装各种 where 条件具体实现类如 QueryWrapper、 UpdateWrapper等在查询、更新、删除操作中会被频繁用到。 Wrapper条件构造抽象类的继承关系 AbstractWrapper 查询条件封装用于生成 sql 中的 where 语句 QueryWrapper查询使用条件封装操作类UpdateWrapper 更新使用条件封装操作类AbstractLambdaWrapper 使用 Lambda 表达式封装 wrapper LambdaQueryWrapper 查询使用 Lambda 语法封装条件LambdaUpdateWrapper 更新使用 Lambda 语法封装条件 AbstractChainWrapper链式查询条件封装 QueryChainWrapper查询使用封装操作类支持链式调用UpdateChainWrapper更新使用封装操作类支持链式调用LambdaQueryChainWrapper查询使用 Lambda 语法封装条件支持链式调用LambdaUpdateChainWrapper更新使用 Lambda 语法封装条件支持链式调用 其中我本人经常用的构造器是LambdaQueryWrapper 2 AbstractWrapper 说明 QueryWrapper(LambdaQueryWrapper) 和 UpdateWrapper(LambdaUpdateWrapper) 的父类用于生成 sql 的 where 条件, entity 属性也用于生成 sql 的 where 条件注意: entity 生成的 where 条件与 使用各个 api 生成的 where 条件没有任何关联行为 allEq 全部eq(或个别isNull) // params : key 为数据库字段名, value 为字段值 allEq(MapR, V params) // null2IsNull : 为 true 则在 map 的 value 为 null 时调用 isNull 方法,为 false 时则忽略 value 为null的 allEq(MapR, V params, boolean null2IsNull) allEq(boolean condition, MapR, V params, boolean null2IsNull)例1: allEq({id:1,name:老王,age:null})—id 1 and name 老王 and age is null例2: allEq({id:1,name:老王,age:null}, false)—id 1 and name 老王 // filter : 过滤函数,是否允许字段传入比对条件中 allEq(BiPredicateR, V filter, MapR, V params) // 同上 allEq(BiPredicateR, V filter, MapR, V params, boolean null2IsNull) allEq(boolean condition, BiPredicateR, V filter, MapR, V params, boolean null2IsNull) 例1: allEq((k,v) - k.contains(a), {id:1,name:老王,age:null})—name 老王 and age is null例2: allEq((k,v) - k.contains(a), {id:1,name:老王,age:null}, false)—name 老王 eq 等于 eq(R column, Object val) eq(boolean condition, R column, Object val)例: eq(name, 老王)---name 老王 ne 不等于 ne(R column, Object val) ne(boolean condition, R column, Object val)例: ne(name, 老王)---name 老王 gt 大于 gt(R column, Object val) gt(boolean condition, R column, Object val)例: gt(age, 18)---age 18 ge 大于等于 ge(R column, Object val) ge(boolean condition, R column, Object val)例: ge(age, 18)---age 18 lt 小于 lt(R column, Object val) lt(boolean condition, R column, Object val)例: lt(age, 18)---age 18 le 小于等于 le(R column, Object val) le(boolean condition, R column, Object val)例: le(age, 18)---age 18 between BETWEEN 值1 AND 值2 between(R column, Object val1, Object val2) between(boolean condition, R column, Object val1, Object val2)例: between(age, 18, 30)---age between 18 and 30 notBetween NOT BETWEEN 值1 AND 值2 notBetween(R column, Object val1, Object val2) notBetween(boolean condition, R column, Object val1, Object val2)例: notBetween(age, 18, 30)---age not between 18 and 30 like LIKE ‘%值%’ like(R column, Object val) like(boolean condition, R column, Object val)例: like(name, 王)---name like %王% notLike NOT LIKE ‘%值%’ notLike(R column, Object val) notLike(boolean condition, R column, Object val)例: notLike(name, 王)---name not like %王% likeLeft LIKE ‘值%’ likeRight(R column, Object val) likeRight(boolean condition, R column, Object val)例: likeLeft(name, 王)---name like %王 likeRight LIKE ‘值%’ likeRight(R column, Object val) likeRight(boolean condition, R column, Object val)例: likeRight(name, 王)---name like 王% notLikeLeft NOT LIKE ‘%值’ notLikeLeft(R column, Object val) notLikeLeft(boolean condition, R column, Object val)例: notLikeLeft(name, 王)---name not like %王 notLikeRight NOT LIKE ‘值%’ notLikeRight(R column, Object val) notLikeRight(boolean condition, R column, Object val)例: notLikeRight(name, 王)---name not like 王% isNull 字段 IS NOT NULL isNotNull(R column) isNotNull(boolean condition, R column)例: isNotNull(name)---name is not null in 字段 IN (value.get(0), value.get(1), …) in(R column, Collection? value) in(boolean condition, R column, Collection? value)例: in(age,{1,2,3})---age in (1,2,3) 字段 IN (v0, v1, …) in(R column, Object... values) in(boolean condition, R column, Object... values)例: in(age, 1, 2, 3)---age in (1,2,3) notIn 字段 NOT IN (value.get(0), value.get(1), …) notIn(R column, Collection? value) notIn(boolean condition, R column, Collection? value)例: notIn(age,{1,2,3})---age not in (1,2,3) 字段 NOT IN (v0, v1, …) notIn(R column, Object... values) notIn(boolean condition, R column, Object... values)例: notIn(age, 1, 2, 3)---age not in (1,2,3) inSql 字段 IN ( sql语句 ) inSql(R column, String inValue) inSql(boolean condition, R column, String inValue)例: inSql(age, 1,2,3,4,5,6)---age in (1,2,3,4,5,6)例: inSql(id, select id from table where id 3)---id in (select id from table where id 3) notInSql 字段 NOT IN ( sql语句 ) notInSql(R column, String inValue) notInSql(boolean condition, R column, String inValue)例: notInSql(age, 1,2,3,4,5,6)---age not in (1,2,3,4,5,6)例: notInSql(id, select id from table where id 3)---id not in (select id from table where id 3) groupBy 分组GROUP BY 字段, … groupBy(R... columns) groupBy(boolean condition, R... columns)例: groupBy(id, name)---group by id,name orderByAsc 排序ORDER BY 字段, … ASC orderByAsc(R... columns) orderByAsc(boolean condition, R... columns)例: orderByAsc(id, name)---order by id ASC,name ASC orderByDesc 排序ORDER BY 字段, … DESC orderByDesc(R... columns) orderByDesc(boolean condition, R... columns)例: orderByDesc(id, name)---order by id DESC,name DESC orderBy 排序ORDER BY 字段, … orderBy(boolean condition, boolean isAsc, R... columns)例: orderBy(true, true, id, name)---order by id ASC,name ASC having HAVING ( sql语句 ) having(String sqlHaving, Object... params) having(boolean condition, String sqlHaving, Object... params)例: having(sum(age) 10)---having sum(age) 10例: having(sum(age) {0}, 11)---having sum(age) 11 func func 方法(主要方便在出现if…else下调用不同方法能不断链) func(ConsumerChildren consumer) func(boolean condition, ConsumerChildren consumer)例: func(i - if(true) {i.eq(id, 1)} else {i.ne(id, 1)}) or 拼接OR // 主动调用or表示紧接着下一个方法不是用and连接!(不调用or则默认为使用and连接) or() or(boolean condition)例: eq(id,1).or().eq(name,老王)---id 1 or name 老王 OR 嵌套 or(ConsumerParam consumer) or(boolean condition, ConsumerParam consumer)例: or(i - i.eq(name, 李白).ne(status, 活着))---or (name 李白 and status 活着) and AND 嵌套 and(ConsumerParam consumer) and(boolean condition, ConsumerParam consumer)例: and(i - i.eq(name, 李白).ne(status, 活着))---and (name 李白 and status 活着) nested 正常嵌套 不带 AND 或者 OR nested(ConsumerParam consumer) nested(boolean condition, ConsumerParam consumer)例: nested(i - i.eq(name, 李白).ne(status, 活着))---(name 李白 and status 活着) apply 拼接 sql // 该方法可用于数据库函数 动态入参的params对应前面applySql内部的{index}部分.这样是不会有sql注入风险的,反之会有 apply(String applySql, Object... params) apply(boolean condition, String applySql, Object... params)例: apply(id 1)---id 1例: apply(date_format(dateColumn,%Y-%m-%d) 2008-08-08)---date_format(dateColumn,%Y-%m-%d) 2008-08-08)例: apply(date_format(dateColumn,%Y-%m-%d) {0}, 2008-08-08)---date_format(dateColumn,%Y-%m-%d) 2008-08-08) last 无视优化规则直接拼接到 sql 的最后 // 只能调用一次,多次调用以最后一次为准 有sql注入的风险,请谨慎使用 last(String lastSql) last(boolean condition, String lastSql)例: last(limit 1) exists 拼接 EXISTS ( sql语句 ) exists(String existsSql) exists(boolean condition, String existsSql)例: exists(select id from table where age 1)---exists (select id from table where age 1) notExists 拼接 NOT EXISTS ( sql语句 ) notExists(String notExistsSql) notExists(boolean condition, String notExistsSql)例: notExists(select id from table where age 1)---not exists (select id from table where age 1) 3 QueryWrapper 说明: 继承自 AbstractWrapper ,自身的内部属性 entity 也用于生成 where 条件 及 LambdaQueryWrapper, 可以通过 new QueryWrapper().lambda() 方法获取 select 设置查询字段 说明: 以上方法分为两类. 第二类方法为:过滤查询字段(主键除外),入参不包含 class 的调用前需要wrapper内的entity属性有值! 这两类方法重复调用以最后一次为准 select(String... sqlSelect) select(PredicateTableFieldInfo predicate) select(ClassT entityClass, PredicateTableFieldInfo predicate)例: select(id, name, age)例: select(i - i.getProperty().startsWith(test)) 4 UpdateWrapper 说明: 继承自 AbstractWrapper ,自身的内部属性 entity 也用于生成 where 条件 及 LambdaUpdateWrapper, 可以通过 new UpdateWrapper().lambda() 方法获取! set SQL SET 字段 set(String column, Object val) set(boolean condition, String column, Object val)例: set(name, 老李头)例: set(name, )---数据库字段值变为空字符串例: set(name, null)---数据库字段值变为null setSql 设置 SET 部分 SQL setSql(String sql)例: setSql(name 老李头) lambda 获取 LambdaWrapper 在QueryWrapper中是获取LambdaQueryWrapper 在UpdateWrapper中是获取LambdaUpdateWrapper ✏ 总结 本章节主要介绍下Mybatis-Plus中条件构造器的介绍及使用时对应SQL语句中是如何编写的。 欢迎关注我的公众号
http://www.pierceye.com/news/256635/

相关文章:

  • 海西电子商务网站建设wordpress 主题宽度
  • 网站建设首选公司wordpress需要mysql
  • 织梦 旅游网站模板深圳公司招牌制作
  • PHP网站开发如何建立vipwordpress页面伪静态
  • 主题公园旅游景区网站建设网站后台图片模板
  • 慈溪网站建设慈溪WordPress点击文章显示404
  • 网站建设与seo网站开发项目总结范文
  • 做竞彩网站代理犯法么建站公司 网站
  • 浙江建设证书查询seo服务公司深圳
  • 长沙协会网站设计专业服务医疗信息化软件公司排名
  • 北京网站制作一般多少钱黑色网站欣赏
  • 广州建设工程造价管理站wordpress获取文章title
  • 免费购物网站源码网站开发的论文引言
  • 商城网站开发需要哪些人员本机建的网站打开却很慢
  • 网站建设哪专业学会python做网站
  • vs怎么添加图片做网站地方门户网站管理系统
  • 三亚做网站的公司科技网站推荐
  • 电商网站运维怎么做自己做网站创业
  • seo有哪些网站集团公司网站 案例
  • 传媒大学附近网站建设公司天津市工程建设公众信息网官网
  • 关于网站建设与维护的参考文献家装设计费用多少钱一平方
  • 网站建设与管理专业概述网站建设报价费用是多少
  • asp医院网站源码破解版北京企业做网站报价
  • 个人做电商网站赚钱吗门业网站模板
  • 企业产品微网站收费吗wordpress移服务器改域名
  • 原创文章网站网站建设团队介绍
  • WordPress建站详细过程安康建设网站
  • 仿视频网站开发wordpress下载文件
  • 专业的个人网站建设哪家建筑施工企业专职安全生产管理员
  • 企业网站模板php全球网站排名前100