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

域名到期与网站打不开注册安全工程师考哪四门

域名到期与网站打不开,注册安全工程师考哪四门,邢台论坛网,向自己做网站Mybatis Plus为我们提供了如下的一些条件构造器&#xff0c;我们可以利用它们实现查询条件、删除条件、更新条件的构造。 条件构造器 | MyBatis-Plus (baomidou.com) 一、通过maven坐标引入依赖&#xff08;注意版本&#xff01;&#xff01;&#xff09; <dependency>…

         Mybatis Plus为我们提供了如下的一些条件构造器,我们可以利用它们实现查询条件、删除条件、更新条件的构造。

条件构造器 | MyBatis-Plus (baomidou.com)

一、通过maven坐标引入依赖(注意版本!!)

<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.1.2</version>
</dependency>
<!-- mysql -->
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope>
</dependency>
<!-- lombok -->
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional>
</dependency>

二、application配置数据源及日志输出级别

# 配置数据源
spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://192.168.161.3:3306/testdb?useUnicode=true&characterEncoding=utf-8&useSSL=falseusername: password: # 配置日志
logging:level:root: warncom.zimug.boot.launch.mapper: trace

三、配置Mybatis的Mapper类文件的包扫描路径

@SpringBootApplication
@MapperScan(basePackages = {"com.zimug.boot.launch.mapper"})
public class BootLaunchApplication {public static void main(String[] args) {SpringApplication.run(BootLaunchApplication.class, args);}
}

四、创建数据表并构建实体和对应的Mapper

DROP TABLE IF EXISTS user;
CREATE TABLE user
(id BIGINT(20) NOT NULL COMMENT '主键ID',name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',age INT(11) NULL DEFAULT NULL COMMENT '年龄',email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',PRIMARY KEY (id)
);
DELETE FROM user;
INSERT INTO user (id, name, age, email) VALUES
(1, 'Jone', 18, 'test1@baomidou.com'),
(2, 'Jack', 20, 'test2@baomidou.com'),
(3, 'Tom', 28, 'test3@baomidou.com'),
(4, 'Sandy', 21, 'test4@baomidou.com'),
(5, 'Billie', 24, 'test5@baomidou.com');

编写实体类User.java。

@Data   //lombok注解
public class User {private Long id;private String name;private Integer age;private String email;
}

编写Mapper类UserMapper.java

public interface UserMapper extends BaseMapper<User> {
}

 五、使用UpdateWrapper自定义条件修改数据

  • updateWrapper用于给update方法传条件参数
UpdateWrapper<User> update = new UpdateWrapper<>();
update.eq("name", "Jack").eq("age", 28);    //eq是MP的条件构造器,表示"等于"关系User user = new User();
user.setAge(29);
user.setEmail("hadoopcn2@163.com");
int rows = userMapper.update(user, update);
System.out.println("影响记录数:" + rows);

  六、使用QueryWrapper自定义条件修改数据

  • queryWrapper用于给delete和select方法传参
QueryWrapper<User> query = new QueryWrapper<>();
query.like("name", "J")    //like是MP的条件构造器,表示"模糊查询".lt("age", 40)     //lt是MP的条件构造器,表示"小于"关系.select("name", "age");
List<Map<String, Object>> maps = userMapper.selectMaps(query);
maps.forEach(System.out::println);
QueryWrapper<User> query = new QueryWrapper<>();
query.select("name", "age")   //指定查询结果字段.in("age", Arrays.asList(30, 31, 34, 35)).last("limit 1");
List<User> list = userMapper.selectList(query);
list.forEach(System.out::println);
String name = "字母";  //name不为空
String email = "";   //email为空串
QueryWrapper<User> query = new QueryWrapper<>();
query.like(StringUtils.isNotEmpty(name), "name", name)//因为email为空串,该条件未生效.like(StringUtils.isNotEmpty(email), "email", email);    List<User> list = userMapper.selectList(query);
list.forEach(System.out::println);

所以最终的执行SQL,如下(只有name LIKE条件,没有email LIKE 条件):

SELECT id,name,age,email
FROM user 
WHERE name LIKE %字母%

        关于 like  几乎所有的条件构造函数,都提供了condition参数实现动态SQL。也就是参数判断是否返回true,如果返回false,该条件不成立。如email=“”,所以.like(StringUtils.isNotEmpty(email), "email", email); 的条件不成立。

//构造条件
QueryWrapper<User> query = new QueryWrapper<>();
Map<String, Object> params = new HashMap<>();
params.put("name", "字母哥");
params.put("age", 18);
params.put("email", null);// query.allEq(params,false);
query.allEq((k, v) -> !k.equals("name"), params, false);
List<User> list = userMapper.selectList(query);
list.forEach(System.out::println);

 all表示所有  ;Eq是equal的缩写表示相等关系 。最终执行的SQL如下:

SELECT id,name,age,email
FROM user 
WHERE age = ?
  • 第一个参数是过滤器(可选参数),lambda表达式表示(k, v) -> !k.equals("name"),参数的Key不能是name,所以params.put("name", "字母哥");这个查询条件被过滤掉
  • 第二个参数表示传入所有的params查询参数
  • 第三个参数(可选参数),表示如果值为null是否按IS NULL查询,false则忽略null列的查询,所以params.put("email", null);这个查询条件被过滤掉

 七、lambda条件构造器

// LambdaQueryWrapper<User> lambdaQ = new QueryWrapper<User>().lambda();
// LambdaQueryWrapper<User> lambdaQ = new LambdaQueryWrapper<>();
LambdaQueryWrapper<User> lambdaQ = Wrappers.lambdaQuery();
lambdaQ.like(User::getName, "字母").lt(User::getAge, 18);
List<User> list = userMapper.selectList(lambdaQ);

lambda条件构造器,最终执行SQL如下:

SELECT id,name,age,email
FROM user 
WHERE name LIKE %字母%
AND age < 18
List<User> list = new LambdaQueryChainWrapper<User>(userMapper).likeRight(User::getName, "字母").and(q -> q.lt(User::getAge, 40).or().isNotNull(User::getEmail)).list();
list.forEach(System.out::println);

lambda条件构造器,最终执行SQL如下:

SELECT id,name,age,email
FROM user 
WHERE name LIKE '字母%'
AND ( age < 40 OR email IS NOT NULL )
http://www.yayakq.cn/news/618604/

相关文章:

  • 个人展示网站模板杭州软件定制开发
  • 国内外网站开发技术网页制作图片代码
  • seo sem 外贸建站 网站建设 文化墙设计wordpress用户名是哪个文件夹
  • 会展相关网站建设建设网站需要做app吗
  • 网页的设计与应用的论文网络优化初学者难吗
  • 网站维护费用计入什么科目wordpress书签插件
  • dedecms怎么部署网站wordpress 文章自动分页
  • 医院为什么要做门户网站建设wordpress邮件通知
  • 影视网站源码建设企业没有做网站有的坏处
  • 一个专门做各种恐怖片的电影网站wordpress h1标签
  • 企业网站建设搜集资料wordpress循环输出
  • 网站维护公告模板网站开发思路怎么写
  • 笋岗网站建设如何做好推广
  • 网站建设服务公司宣传语言做rap的网站
  • 东莞网站建设+信科网络网站网站建设公
  • 做外贸的 需要什么样的网站做空包网站合法吗
  • 做爰免费视频网站品牌型网站制作
  • 天津做不锈钢的网站wordpress添加导航菜单
  • 企业网站建设价格表wordpress无法导入xml
  • 太原seo整站优化沪指重上3000点
  • 免费网站建设培训学校建设企业网站管理的重要性
  • 班级网站建设活动方案浪子做的阿哲喊麦网站多少
  • 做淘客网站需要备案推广业务
  • 网站建设邮如何提升线上销售的方法
  • 南宁专业网站建设公司两个男生是怎么做的细写
  • 网站怎么做来流量吗直播网站 建设
  • aspcms做双语网站修改配置软件公司主要做哪些
  • 全国网站建设人员数量免费手工活外发加工网站
  • 电子商务论文网站建设东莞合一网络科技有限公司
  • 网站建设的方法有哪些内容网站建设 在线购买