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

wordpress直接发送密码灰色关键词排名优化

wordpress直接发送密码,灰色关键词排名优化,做网站便宜还是app便宜,洛阳网站建设联系方式目录 一、概念 1、什么是mybatisplus 2、为什么要使用mybatisplus 二、mybatisplus的使用 1、安装 2、常用注解 3、条件构造器 一、概念 1、什么是mybatisplus MyBatis-Plus(简称MP)是一个基于MyBatis的增强框架,旨在简化开发、提高…

目录

一、概念

1、什么是mybatisplus

2、为什么要使用mybatisplus

二、mybatisplus的使用

1、安装

2、常用注解

3、条件构造器 


一、概念

1、什么是mybatisplus

MyBatis-Plus(简称MP)是一个基于MyBatis的增强框架,旨在简化开发、提高效率。

2、为什么要使用mybatisplus

① mybatisplus为我们提供好了基础的增删改查sql,仅仅是针对单表操作的增删改查。

② 为我们提供了一些好用的插件,例如分页插件、乐观锁插件具体使用参考官网 

③ 为我们提供了一些好用的功能,比如代码生成、枚举映射、逻辑删除、主键生成等等具体参考官网 

二、mybatisplus的使用

1、安装

首先需要引入mybatisplus的起步依赖(其中包含mybatis,基于springboot的起步依赖原理)

      <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.3.1</version> </dependency>

其次mapper和service层需要继承basemapper、Iservice,serviceimpl,注意其中的泛型需要指定,泛型的类型就是要操作的数据库表对应的实体类。

2、常用注解

① @TableName

  • 描述:表名注解,标识实体类对应的表

  • 使用位置:实体类

示例:

@TableName("user")
public class User {private Long id;private String name;
}

TableName注解除了指定表名以外,还可以指定很多其它属性:

属性类型必须指定默认值描述
valueString""表名
schemaString""schema
keepGlobalPrefixbooleanFALSE是否保持使用全局的 tablePrefix 的值(当全局 tablePrefix 生效时)
resultMapString""xml 中 resultMap 的 id(用于满足特定类型的实体类对象绑定)
autoResultMapbooleanFALSE是否自动构建 resultMap 并使用(如果设置 resultMap 则不会进行 resultMap 的自动构建与注入)
excludePropertyString[]{}需要排除的属性名 @since 3.3.1

 ② @tableId

说明:

  • 描述:主键注解,标识实体类中的主键字段

  • 使用位置:实体类的主键字段

示例:

@TableName("user")
public class User {@TableIdprivate Long id;private String name;
}

tableId注解支持的两个属性:

属性类型必须指定默认值描述
valueString""表名
typeEnumIdType.NONE指定主键类型

 IdType支持的类型有:

描述
AUTO数据库 ID 自增
NONE无状态,该类型为未设置主键类型(注解里等于跟随全局,全局里约等于 INPUT)
INPUTinsert 前自行 set 主键值
ASSIGN_ID分配 ID(主键类型为 Number(Long 和 Integer)或 String)(since 3.3.0),使用接口IdentifierGenerator的方法nextId(默认实现类为DefaultIdentifierGenerator雪花算法)
ASSIGN_UUID分配 UUID,主键类型为 String(since 3.3.0),使用接口IdentifierGenerator的方法nextUUID(默认 default 方法)
ID_WORKER分布式全局唯一 ID 长整型类型(please use ASSIGN_ID)
UUID32 位 UUID 字符串(please use ASSIGN_UUID)
ID_WORKER_STR分布式全局唯一 ID 字符串类型(please use ASSIGN_ID)

这里比较常见的有三种:

  • AUTO:利用数据库的id自增长

  • INPUT:手动生成id

  • ASSIGN_ID:雪花算法生成Long类型的全局唯一id,这是默认的ID策略

③ @TableField

说明:

描述:普通字段注解

示例:

@TableName("user")
public class User {@TableIdprivate Long id;private String name;private Integer age;@TableField("isMarried")private Boolean isMarried;@TableField("concat")private String concat;
}

一般情况下我们并不需要给字段添加@TableField注解,一些特殊情况除外:

  • 成员变量名与数据库字段名不一致

  • 成员变量是以isXXX命名,按照JavaBean的规范,MybatisPlus识别字段时会把is去除,这就导致与数据库不符。

  • 成员变量名与数据库一致,但是与数据库的关键字冲突。使用@TableField注解给字段名添加``转义

支持的其它属性如下:

属性类型必填默认值描述
valueString""数据库字段名
existbooleanTRUE是否为数据库表字段
conditionString""字段 where 实体查询比较条件,有值设置则按设置的值为准,没有则为默认全局的 %s=#{%s},参考(opens new window)
updateString""字段 update set 部分注入,例如:当在version字段上注解update="%s+1" 表示更新时会 set version=version+1 (该属性优先级高于 el 属性)
insertStrategyEnumFieldStrategy.DEFAULT举例:NOT_NULL
insert into table_a(<if test="columnProperty != null">column</if>) values (<if test="columnProperty != null">#{columnProperty}</if>)
updateStrategyEnumFieldStrategy.DEFAULT举例:IGNORED
update table_a set column=#{columnProperty}
whereStrategyEnumFieldStrategy.DEFAULT举例:NOT_EMPTY
where <if test="columnProperty != null and columnProperty!=''">column=#{columnProperty}</if>
fillEnumFieldFill.DEFAULT字段自动填充策略
selectbooleanTRUE是否进行 select 查询
keepGlobalFormatbooleanFALSE是否保持使用全局的 format 进行处理
jdbcTypeJdbcTypeJdbcType.UNDEFINEDJDBC 类型 (该默认值不代表会按照该值生效)
typeHandlerTypeHander类型处理器 (该默认值不代表会按照该值生效)
numericScaleString""指定小数点后保留的位数

3、条件构造器 

①  MyBatis-Plus 提供了一套强大的条件构造器(Wrapper),用于构建复杂的数据库查询条件。Wrapper 类允许开发者以链式调用的方式构造查询条件,无需编写繁琐的 SQL 语句,从而提高开发效率并减少 SQL 注入的风险。

②具体使用

QueryWrapper需要手写字段名,容易错。示例如下:

@Testpublic void test1() {//select id,username,info,balance from user where username like "%o%" and balance >= 1000List<User> users = userMapper.selectList(new QueryWrapper<User>().like("username", "o").ge("balance", 1000).select("id", "username", "info", "balance"));

LambdaQueryWrapper使用实体类的Lambda表达式,字段不会错。示例如下:

//select id,username,info,balance from user where username like "%o%" and balance >= 1000
List<User> userList = userMapper.selectList(new LambdaQueryWrapper<User>().like(User::getUsername, "o").ge(User::getBalance, 1000).select(User::getId, User::getBalance, User::getInfo, User::getUsername));System.out.println(userList);

LamdUpdateWrapper 相较于LamdQueryWrapper多了个set方法,用于修改语句 setSql 手写sql语句拼上去

示例如下:

//案例:在原来金额的基础上减去200userMapper.update(null, new LambdaUpdateWrapper<User>().setSql("balance = balance - 200").in(User::getId, Arrays.asList(1L, 2L, 4L)));

由于篇幅过长,剩余部分下篇续写。有何问题请各位大佬指出共同进步!


文章转载自:
http://magus.fznj.cn
http://bessemerize.fznj.cn
http://sniveller.fznj.cn
http://adding.fznj.cn
http://kneepad.fznj.cn
http://canvass.fznj.cn
http://unguarded.fznj.cn
http://interstratify.fznj.cn
http://smuggler.fznj.cn
http://unaptly.fznj.cn
http://forgeable.fznj.cn
http://suplex.fznj.cn
http://banshie.fznj.cn
http://dogwood.fznj.cn
http://sleuth.fznj.cn
http://yokelry.fznj.cn
http://foredone.fznj.cn
http://monopsychism.fznj.cn
http://assay.fznj.cn
http://phelloderm.fznj.cn
http://reunification.fznj.cn
http://dilatant.fznj.cn
http://overabound.fznj.cn
http://cue.fznj.cn
http://internuncio.fznj.cn
http://spanking.fznj.cn
http://polarise.fznj.cn
http://fave.fznj.cn
http://testaceology.fznj.cn
http://helipod.fznj.cn
http://cytotechnician.fznj.cn
http://kedah.fznj.cn
http://millpond.fznj.cn
http://neutrodyne.fznj.cn
http://muchly.fznj.cn
http://heterotroph.fznj.cn
http://feminist.fznj.cn
http://dimethyl.fznj.cn
http://opportunist.fznj.cn
http://stereophonic.fznj.cn
http://armillary.fznj.cn
http://patent.fznj.cn
http://gannet.fznj.cn
http://noninitial.fznj.cn
http://flechette.fznj.cn
http://associateship.fznj.cn
http://immunogenesis.fznj.cn
http://rebate.fznj.cn
http://discountenance.fznj.cn
http://unprepared.fznj.cn
http://petrolatum.fznj.cn
http://lummox.fznj.cn
http://zigzagged.fznj.cn
http://adumbrate.fznj.cn
http://podsol.fznj.cn
http://apophthegmatic.fznj.cn
http://saturnalia.fznj.cn
http://launce.fznj.cn
http://dot.fznj.cn
http://untimeous.fznj.cn
http://dirl.fznj.cn
http://urticaceous.fznj.cn
http://instinct.fznj.cn
http://merlon.fznj.cn
http://dismutation.fznj.cn
http://generant.fznj.cn
http://hubble.fznj.cn
http://closed.fznj.cn
http://overwise.fznj.cn
http://hostility.fznj.cn
http://passerby.fznj.cn
http://rehire.fznj.cn
http://succinate.fznj.cn
http://photocomposition.fznj.cn
http://nonfulfillment.fznj.cn
http://myoatrophy.fznj.cn
http://youngberry.fznj.cn
http://malaita.fznj.cn
http://wdc.fznj.cn
http://knowledgeability.fznj.cn
http://eprom.fznj.cn
http://inefficient.fznj.cn
http://frisket.fznj.cn
http://bootlace.fznj.cn
http://hidrotic.fznj.cn
http://hypoacid.fznj.cn
http://penology.fznj.cn
http://divi.fznj.cn
http://inadequately.fznj.cn
http://smon.fznj.cn
http://eunuch.fznj.cn
http://oncoming.fznj.cn
http://smouch.fznj.cn
http://pooja.fznj.cn
http://mahlstick.fznj.cn
http://chivalric.fznj.cn
http://custodian.fznj.cn
http://damocles.fznj.cn
http://interferential.fznj.cn
http://egomaniacal.fznj.cn
http://www.dt0577.cn/news/128124.html

相关文章:

  • 柒零叁网站建设湖南长沙万网是什么网站
  • 网站建设数据库是什么意思在线代理浏览国外网站
  • 网站备案个人使用百度在线识别图片
  • 杭州网站建设培训班百度搜索网址
  • 宁波哪里做网站的湖南关键词优化排名推广
  • 虾皮网站有的做吗我的百度购物订单
  • 夜里十大禁用羞羞app杭州优化公司在线留言
  • 自己怎么做优惠卷网站阿里网站seo
  • 四川省人民政府网站集约化建设seo薪酬水平
  • 网站赚钱的方式semantic ui
  • 网站做不下去今日国际新闻最新消息大事
  • 深圳专业网站开发淘宝seo对什么内容优化
  • 企业网站建设国内外研究状况安卓优化大师最新版下载
  • 如何开网站赚钱免费网络营销软件
  • 东莞手机网站制作公司网络营销优化推广公司
  • 国企网站建设的意义创意营销新点子
  • 怀化找什么人做网站网址查询地址查询
  • 网站的描述 都应该写 什么 优化网站建设定制
  • wordpress中的css类常州seo收费
  • iis网站右键没有属性衡阳seo优化推荐
  • 网站建设战略伙伴百度手机助手app下载官网
  • 国外一些建筑公司网站网络推广员的工作内容和步骤
  • 毕业设计做网站还是系统谷歌关键词
  • 云南文山学院网络培训seo
  • 做网站有的浏览器怎么推广
  • 中国流量最大的网站排行电子商务网站建设案例
  • 网站建设公司 壹宇网络哪家网络营销好
  • 网站权重7怎么做百度地图推广
  • 湘潭哪里做网站搜索引擎营销ppt
  • 网站logo替换50篇经典软文100字