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

网站 建立目录出错seo搜索引擎招聘

网站 建立目录出错,seo搜索引擎招聘,日本二手表网站,先做网站后付款在 MyBatis-Plus 中实现表关联查询、嵌套查询和子查询,通常需要结合 XML 映射文件或 Select 注解编写自定义 SQL。以下是具体示例演示:示例场景 假设有两张表: 用户表 userCREATE TABLE user (id BIGINT PRIMARY KEY,name VARCHAR(50),age IN…

在 MyBatis-Plus 中实现表关联查询、嵌套查询和子查询,通常需要结合 XML 映射文件或 @Select 注解编写自定义 SQL。以下是具体示例演示:


示例场景

假设有两张表:

  1. 用户表 user
    CREATE TABLE user (id BIGINT PRIMARY KEY,name VARCHAR(50),age INT
    );
    
  2. 订单表 order
    CREATE TABLE order (id BIGINT PRIMARY KEY,user_id BIGINT,       -- 关联用户IDamount DECIMAL(10,2),status INT
    );
    

1. 表关联查询(JOIN)

目标:查询订单信息并关联用户名
使用 XML 方式实现:

<!-- OrderMapper.xml -->
<select id="selectOrdersWithUser" resultType="map">SELECT o.id, o.amount, u.name AS userNameFROM `order` oLEFT JOIN `user` u ON o.user_id = u.idWHERE o.status = 1
</select>

2. 嵌套查询(Nested Query)

目标:查询用户及其所有订单(一对多)
使用 @Select 注解和 @Result 映射:

// UserMapper.java
@Select("SELECT * FROM user WHERE id = #{id}")
@Results({@Result(property = "id", column = "id"),@Result(property = "orders", column = "id", many = @Many(select = "selectOrdersByUserId"))
})
User selectUserWithOrders(Long id);@Select("SELECT * FROM `order` WHERE user_id = #{userId}")
List<Order> selectOrdersByUserId(Long userId);

3. 子查询(SubQuery)

目标:查询订单金额超过平均金额的订单
使用 QueryWrapper 实现:

// 子查询:计算平均金额
QueryWrapper<Order> avgWrapper = new QueryWrapper<>();
avgWrapper.select("AVG(amount)");// 主查询:筛选大于平均金额的订单
QueryWrapper<Order> wrapper = new QueryWrapper<>();
wrapper.gt("amount", avgWrapper); // 直接嵌入子查询List<Order> orders = orderMapper.selectList(wrapper);

生成的 SQL:

SELECT * FROM `order` 
WHERE amount > (SELECT AVG(amount) FROM `order`)

4. EXISTS 子查询

目标:查询有订单的用户

QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.exists("SELECT 1 FROM `order` WHERE user_id = user.id");List<User> users = userMapper.selectList(wrapper);

生成的 SQL:

SELECT * FROM user 
WHERE EXISTS (SELECT 1 FROM `order` WHERE user_id = user.id)

5. IN 子查询

目标:查询状态为1的订单所属用户

QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.inSql("id", "SELECT user_id FROM `order` WHERE status = 1");List<User> users = userMapper.selectList(wrapper);

生成的 SQL:

SELECT * FROM user 
WHERE id IN (SELECT user_id FROM `order` WHERE status = 1)

关键点总结

查询类型实现方式
关联查询使用 JOIN + XML/注解手动映射结果
嵌套查询通过 @Result(many=@Many)@Result(one=@One) 关联其他 Mapper 方法
子查询利用 QueryWrappergt/inSql/exists 等方法直接嵌入子查询 SQL
复杂子查询在 XML 中手写完整的 SQL 语句(推荐复杂场景)

注意

  • MyBatis-Plus 的 Wrapper 仅支持简单子查询,复杂关联查询建议使用 XML/注解。
  • 嵌套查询可能引发 N+1 问题,大数据量时慎用。
  • 表名/字段若为 SQL 关键字(如 order),需用反引号 ` 包裹。
http://www.dtcms.com/wzjs/213570.html

相关文章:

  • 公司做网站让我们销售b2b平台免费推广网站
  • 金华网站建设解决方案刷赞网站推广免费链接
  • 东莞网站优化推广方案外贸网络推广
  • 潍坊可以做网站的公司关键词点击价格查询
  • 怎样学剪辑制作视频seo推广论坛
  • 广东网站制作公司刚刚刚刚刚刚好痛
  • 用jsp源码做网站自己搭建网站需要什么
  • 做阿里网站卖东西赚钱cilimao磁力猫最新版地址
  • 长沙人才招聘网站百度收录网站要多久
  • 一般做音响的有哪些网站广州seo招聘信息
  • 怎么查网站建设时间seo站内优化教程
  • 智慧团建电脑版登录官网新网seo关键词优化教程
  • 怎么做网站接口公司网站推广技巧
  • 有没有专门做特产的网站网络推广方案怎么写
  • 做网站没灵感网络营销的方法
  • 广东省网站建设公司排名免费网页制作网站
  • 葫芦岛做网站的公司广告公司营销策划方案
  • 哪里有卖自己做的网站网页设计制作网站图片
  • 单页网站后台订单系统百度极速版app下载安装挣钱
  • 如何建设自己的网站网站怎么建设
  • 成立公司怎么做网站网站收录一般多久
  • 外贸公司网站建设费用 如何申请太原自动seo
  • wordpress 网易云歌单响应式模版移动优化
  • 长治做网站公司网络推广和竞价怎么做
  • 杭州专业网站设计seo的宗旨是什么
  • 湖北网站建设检修网络营销网站
  • 网站建站公司一站式服务免费男女打扑克的软件
  • 网站整改方案怎么做网站宣传
  • 基于java技术的网站开发聊城网站seo
  • 公司形象墙设计理念天津seo外包团队