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

网站顶部广告代码怎么用模板做网站

网站顶部广告代码,怎么用模板做网站,浙江网站建设dyfwzx,沧州网站建设设计Mybatis-Plus 中 LambdaQueryWrapper 和 QueryWrapper 是两种用于构造 SQL 查询条件的工具类,它们的核心区别在于 类型安全性 和 语法简洁性。以下是详细对比及完整示例: 一、核心区别对比 特性LambdaQueryWrapperQueryWrapper类型安全✅ 编译期校验&am…

Mybatis-Plus 中 LambdaQueryWrapperQueryWrapper 是两种用于构造 SQL 查询条件的工具类,它们的核心区别在于 类型安全性语法简洁性。以下是详细对比及完整示例:


一、核心区别对比

特性LambdaQueryWrapperQueryWrapper
类型安全✅ 编译期校验(基于 Lambda 表达式)❌ 运行时校验(基于字符串表达式)
代码可读性✅ 直接引用实体类属性(如 q -> q.getAge()❌ 需手写字段名字符串(如 "age"
IDE 支持✅ 自动补全、智能提示❌ 无提示,依赖开发者记忆字段名
空值处理✅ 自动识别 null 值(无需显式判断 isNull)❌ 需手动拼接 isNullisEmpty
适用场景✅ 新项目优先推荐✅ 兼容旧版 Mybatis-Plus(<=2.x)

二、完整示例演示

1. 环境准备
// 实体类 User
@Data
public class User {private Long id;private String name;private Integer age;
}// Mapper 接口
public interface UserMapper extends BaseMapper<User> {}
2. 使用 QueryWrapper(传统方式)
// 注意:字段名必须与数据库一致,否则会抛出异常!
@Test
void testQueryWrapper() {// 创建 QueryWrapper 实例QueryWrapper<User> queryWrapper = new QueryWrapper<>();queryWrapper.eq("name", "Tom")   // 字段名需严格匹配数据库列名.ge("age", 18)        // 年龄大于等于 18.likeRight(true, "name", "J"); // 模糊查询(右侧匹配)// 执行查询List<User> users = userMapper.selectList(queryWrapper);users.forEach(System.out::println);
}
3. 使用 LambdaQueryWrapper(推荐方式)
@Test
void testLambdaQueryWrapper() {// 创建 LambdaQueryWrapper 实例(泛型推断更安全)LambdaQueryWrapper<User> lambdaQuery = new LambdaQueryWrapper<>();lambdaQuery.eq(User::getName, "Tom")      // 方法引用,自动获取字段名.ge(User::getAge, 18)          // 年龄 >= 18.likeRight(User::getName, "J"); // 模糊查询(右侧匹配)// 执行查询List<User> users = userMapper.selectList(lambdaQuery);users.forEach(System.out::println);
}
4. 关键差异解析
  • 类型安全示例
    如果修改实体类字段名(如将 name 改为 userName),LambdaQueryWrapper 会在编译时报错,而 QueryWrapper 仅在运行时报错:

    // 错误示范(会导致编译失败):
    lambdaQuery.eq(User::getNonExistField, "value");// QueryWrapper 的错误示例(运行时才会发现):
    queryWrapper.eq("nonExistField", "value");
    
  • 空值处理优化
    LambdaQueryWrapper 自动识别 null 值,无需手动添加 isNull

    lambdaQuery.eq(User::getAge, null); // 自动转换为 IS NULL
    

三、如何选择?

  1. 新项目开发:优先使用 LambdaQueryWrapper,减少因字段名变更导致的故障。
  2. 旧项目迁移:逐步替换 QueryWrapper,利用其兼容性过渡。
  3. 复杂动态 SQL:混合使用两种 Wrapper(如 Wrapper.apply() 嵌套)。

四、扩展补充

  • 动态表名/特殊函数:仍需使用 QueryWrapper 拼接原生 SQL。
  • 性能对比:两者生成的 SQL 完全一致,性能无差异。
  • IDE 插件:安装 Lombok 增强工具可提升 Lambda 开发体验。

通过以上示例可以看出,LambdaQueryWrapper 在现代 Java 开发中具有显著优势,是 Mybatis-Plus 的最佳实践推荐方式。

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

相关文章:

  • 阿里云服务器报价武汉关键词seo排名
  • 网站关键词密度过高企业品牌类网站有哪些
  • 洋桥网站建设公司易推客app拉新平台
  • 一站式建站价格sem投放是什么意思
  • 网络科技公司可以去吗seo关键词优化培训
  • 网站建设与网页设计试卷上海网站营销seo方案
  • 手机端网站开发流程seo企业培训班
  • wordpress同步到今日头条百度代做seo排名
  • 网站建设企业营销市场调研表模板
  • 怎么做免费的网站空间首码项目推广平台
  • 南宁网站建设公司seo优化阿里云域名注册网站
  • 西安网站手机网站建设百度文库官网
  • 网站设计制作的公司上海广告公司排名
  • 哈尔滨网站建设网络公司精准信息预测
  • 电脑维修网站模板下载接单平台
  • 郑州公司做网站谷歌收录查询
  • 双语对照网站企业策划
  • 做网站编辑累不累抓关键词的方法10条
  • 苏州手机网站制作关键字参数
  • 上海公共招聘网新版seo厂商
  • 旅游网站模块写软文
  • 怎么做公司招聘网站seo项目
  • 枣庄网站建设费用希爱力双效片的作用与功效
  • 手机p2p网站开发迅雷磁力链bt磁力天堂
  • 使用php做的学校网站长沙网址seo
  • wordpress视屏站网络广告形式
  • 做网站需要用到那些软件手机建站
  • 南通网站群建设免费b站网站推广
  • 绛县苗木网网站是由谁建设的网上引流推广怎么做
  • 有服务器怎么做网站教程郑州新闻发布