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

做小说网站做国外域名还是国内的好大数据营销系统怎么样

做小说网站做国外域名还是国内的好,大数据营销系统怎么样,小程序源码购买,正规新闻网站哪家好注意⚠️ Wrapper类是 MyBatis-Plus 提供的工具类,必须与继承了 BaseMapper 的接口配合使用。 作用 Wrapper 是 MyBatis-Plus 提供的 条件构造器工具类,用于构建复杂的数据库查询条件。 它的作用是简化 SQL 条件构造,但它不能替代 Mapper 层…

注意⚠️

Wrapper类是 MyBatis-Plus 提供的工具类,必须与继承了 BaseMapper 的接口配合使用。

作用

Wrapper 是 MyBatis-Plus 提供的 条件构造器工具类,用于构建复杂的数据库查询条件。

它的作用是简化 SQL 条件构造,但它不能替代 Mapper 层。最终仍需通过 Mapper 接口的方法(如 selectListselectOne 等)执行数据库操作。

它不涉及 SQL 的执行逻辑(如连接数据库、设置参数、返回结果映射等),这些仍由 Mapper 层负责。

构成

QueryWrapper  (LambdaQueryWrapper用于构造查询条件,如:select、delete 中的 where
UpdateWrapper(LambdaUpdateWrapper用于构造更新条件, 如:update 中的 set + where
AbstractWrapper上面所有wrapper的父类

操作类型核心需求是否需要 Wrapper示例
新增设置字段值userMapper.insert(user)
查询构造 WHERE 条件userMapper.selectList(new QueryWrapper<User>().eq("name", "张三"))
更新设置 SET 字段 + WHERE 条件部分需要userMapper.update(user, new UpdateWrapper<User>().eq("id", 1))
删除构造 WHERE 条件userMapper.delete(new QueryWrapper<User>().eq("id", 1))

示例代码

 QueryWrapper

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("status", 1).like("name", "张").gt("age", 18).orderByDesc("create_time").last("LIMIT 10");  // 拼接原生 SQLList<User> users = userMapper.selectList(queryWrapper);

LambdaUpdateWrapper

LambdaUpdateWrapper<User> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set(User::getStatus, 0).set(User::getUpdateTime, LocalDateTime.now()).eq(User::getId, 1).or().lt(User::getAge, 18);userMapper.update(null, updateWrapper);

语法详解

条件构造器 | MyBatis-Plus

一、基础条件构造

1. 等值查询(=)
eq (String column, Object val) // = 等于// 示例:WHERE name = '张三'
queryWrapper.eq("name", "张三");
2. 非等值查询(!=、>、< 等)
ne(String column, Object val)     // !=
gt(String column, Object val)     // >
ge(String column, Object val)     // >=
lt(String column, Object val)     // <
le(String column, Object val)     // <=// 示例:WHERE age > 18 AND salary <= 10000
queryWrapper.gt("age", 18).le("salary", 10000);
3. 模糊查询(LIKE)
like (String column, Object val)         // LIKE '%值%'
likeLeft (String column, Object val)     // LIKE '%值'
likeRight (String column, Object val)    // LIKE '值%'notLike (String column, Object val)
notLikeLeft (String column, Object val)
notLikeRight (String column, Object val)// 示例:WHERE email LIKE '%@gmail.com'
queryWrapper.likeRight("email", "@gmail.com");
4. IN 查询
in(String column, Collection<?> values)  // IN (v1, v2, ...)
in(String column, Object... values)      // 可变参数版本// 示例:WHERE id IN (1, 2, 3)
queryWrapper.in("id", Arrays.asList(1, 2, 3));
5. NULL 判断
isNull(String column)      // IS NULL
isNotNull(String column)   // IS NOT NULL// 示例:WHERE create_time IS NULL
queryWrapper.isNull("create_time");
6. 范围查询(BETWEEN)
between (String column, Object val1, Object val2)  // BETWEEN val1 AND val2
notBetween(String column, Object val1, Object val2) // NOT BETWEEN val1 AND val2// 示例:WHERE age BETWEEN 18 AND 30
queryWrapper.between("age", 18, 30);

二、逻辑组合(AND、OR、括号)

1. AND 连接(默认)
// 多个条件默认用 AND 连接
queryWrapper.eq("name", "张三").gt("age", 18);// 等价于:WHERE name = '张三' AND age > 18
2. OR 连接
or()
or(Consumer<Param> consumer)  // 带括号的 OR// 示例:WHERE name = '张三' OR age > 18
queryWrapper.eq("name", "张三").or().gt("age", 18);// 示例:WHERE name = '张三' OR (age > 18 AND gender = 1)
queryWrapper.eq("name", "张三").or(w -> w.gt("age", 18).eq("gender", 1));
3. 括号分组
nested(Consumer<Param> consumer)  // 嵌套括号// 示例:WHERE (name = '张三' OR name = '李四') AND age > 18
queryWrapper.nested(w -> w.eq("name", "张三").or().eq("name", "李四")).gt("age", 18);

三、排序(ORDER BY)

OrderBy(boolean condition, boolean isAsc, String... columns) 
// 参数说明:(是否应用这个排序条件,是否升序,排序的字段名(可以是多个))
// 示例:
queryWrapper.orderBy(true, true, "id", "name");orderByAsc(String... columns)    // 升序
orderByDesc(String... columns)  // 降序// 示例:ORDER BY create_time DESC, id ASC
queryWrapper.orderByDesc("create_time").orderByAsc("id");

四、 分组 (GROUP BY)

// 设置分组条件,使用字段名
groupBy (R... columns)// 示例:
queryWrapper.groupBy("id", "name");

五、 分页(配合 Page 对象)

// 需配合 IPage 接口使用
Page<User> page = new Page<>(1, 10);  // 第1页,每页10条
IPage<User> result = userMapper.selectPage(page, queryWrapper);

六、UpdateWrapper 特有的 SET 方法

set(String column, Object val)  // 设置更新字段
setSql(String sql)              // 设置原生 SQL// 示例:UPDATE user SET name = '李四', age = 20 WHERE id = 1
updateWrapper.set("name", "李四").set("age", 20).eq("id", 1);

七、其他

1. 条件动态化(避免 NULL 条件)
eq(boolean condition, String column, Object val)// 示例:当 name 不为 null 时才添加条件
queryWrapper.eq(name != null, "name", name);
2. 查询指定字段(SELECT)
select(String... columns)  // 查询指定字段// 示例:SELECT id, name FROM user
queryWrapper.select("id", "name");
3. 子查询
exists(String sql)        // EXISTS (subquery)
notExists(String sql)     // NOT EXISTS (subquery)
inSql(String column, String inValue)  // IN (subquery)// 示例:WHERE EXISTS (SELECT 1 FROM order WHERE order.user_id = user.id)
queryWrapper.exists("SELECT 1 FROM order WHERE order.user_id = user.id");

http://www.dtcms.com/wzjs/147291.html

相关文章:

  • 苏州专业建设网站mac923水蜜桃923色号
  • 网站建设业务范围广州seo优化费用
  • 男男床做视频网站优化系统的软件
  • 腾讯云备案流程快速排名seo软件
  • 成都医院网站建设网站建设的好公司
  • 在百度做推广送网站好吗网站排名靠前
  • 做网站属于技术开发吗互联网推广话术
  • 网站访客qq获取系统 报价云南网络营销seo
  • 做网站用php如何学习站长工具seo优化系统
  • 建设网站空间域名注册入口
  • 学电商一般月收入多少西安seo招聘
  • 独立站店铺怎么注册淘宝网官方网站
  • 做点击率的网站东莞有哪些做推广的网站
  • 苏州公司建设网站seo优化方法
  • 东莞同城招聘搜索seo神器
  • 佛山专业的做网站的seo网络推广公司
  • 二手手机网站网页设计衡阳网站建设公司
  • 帆布网站做哪个优化一个网站需要多少钱
  • 如何通过做网站和公众号盈利怎么快速优化关键词排名
  • 数码产品网站建设计划书2024年疫情还会封控吗
  • 网站首页模板怎么做策划长沙哪里有网站推广优化
  • 网站建设是自学好还是2023最近的新闻大事10条
  • 最简单的做网站的工具除了百度指数还有哪些指数
  • 菠菜网站模板广州做seo公司
  • 包头做网站公司30个免费货源网站
  • 武汉百度竞价托管seo网站推广方法
  • 佛山网站建设凤软电商网站公司
  • 北京专业网站的建设陕西新站seo
  • 百度搜索网站在第一次输入搜索内容后点搜索键没有反应晚上国网app
  • 购物商城名字seo技术教程网