`

MyBatis联合查询语句

 
阅读更多

 

日志表、评论表、用户表

 

ReportDao.xml

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE mapper 
    PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
    "http://www.mybatis.org/dtd/mybatis-3-mapper.dtd"> 
<mapper namespace="com.xinfeijinxin.qy.dao.IreportDao"> 
<!-- 这里namespace必须是UserMapper接口的路径,不然要运行的时候要报错 “is not known to the MapperRegistry”--> 

<!-- 测试resultMap -->     
<!-- 查询日报,返回日报,日报撰写人,评论,评论人 -->
     <resultMap type="QyRb" id="myRbResult">
        <result property="gzrbid" column="gzrbid"/>
        <result property="userid" column="a_userid"/>
        <result property="rbbt" column="rbbt"/>
        <result property="rbnr" column="rbnr"/>
        <result property="tjsj" column="tjsj"/>
        
        <association property="qyUser" column="a_userid" javaType="QyUser" >
              <result property="userid" column="c_userid"/>
              <result property="xm" column="c_xm"/>
              <result property="tx" column="c_tx"/>
        </association>
         
        <collection property="qyRbpls" ofType="com.xinfeijinxin.qy.bean.QyRbpl">
           <result property="rbplid" column="rbplid"/>
           <result property="userid" column="b_userid"/>
           <result property="rbplnr" column="rbplnr"/>
           <result property="rbplsj" column="rbplsj"/>
           <association property="qyUser" column="b_userid"  javaType="QyUser">
              <result property="userid" column="d_userid"/>
              <result property="xm" column="d_xm"/>
              <result property="tx" column="d_tx"/>
           </association>
        </collection>
     </resultMap>
     
     <select id="myQueryRb" resultMap="myRbResult" parameterType="map">
        select a.gzrbid,a.rbbt,a.rbnr,a.tjsj,a.userid as a_userid,
               c.userid as c_userid,c.xm as c_xm,c.tx as c_tx,
               b.rbplid,b.userid as b_userid ,b.rbplnr,b.rbplsj,
      		   d.userid as d_userid,d.xm as d_xm,d.tx as d_tx
    	 FROM qy_rb as a 
     	 left join qy_rbpl b on a.gzrbid=b.gzrbid
    	 LEFT JOIN qy_user c ON a.userid=c.userid
     	 JOIN qy_user d      ON d.userid=b.userid

		 ORDER BY a.gzrbid
        
</select>
     
<!-- 查询日报评论数 -->  
<select id="myCountPL" resultType="int" parameterType="map">
        select count(*)
        from qy_rbpl a
        where a.gzrbid=#{gzrbid}
</select>      
</mapper>
 

 

效果图


 

 

用户表

用户表(qy_user)
userid(int) 用户id
tx(头像名称) 用户头像
xm 用户姓名

 

 

 

 

 

 

 

评论表

评论表(qy_rbpl)
rbplid(int) 评论id
gzrbid(int) 日志id
rbplnr 评论内容
userid(int) 用户id
rbplsj 评论时间

 

 

 

 

 

 

 

 

 

 

日志表

日志表(qy_rb)
gzrbid(int) 日志id
userid(int) 用户id
rbbt 日志标题
rbnr 日志内容
tjsj 提交时间
  • 大小: 18.2 KB
分享到:
评论

相关推荐

    mybatis 关联查询完整代码

    MyBatis 是一款深受开发者喜爱的持久层框架,它简化了Java开发中的数据库操作,使得开发者可以更加专注于SQL语句的编写,而无需过多关注数据访问的底层细节。本篇文章将详细探讨MyBatis在关联查询中的一对一和一对多...

    Mybatis实现多表联合查询和批量插入

    Mybatis实现多表联合查询和批量插入 Mybatis是一款流行的持久层框架,它可以帮助开发者快速、高效地访问数据库。在实际开发中,经常需要对多个表进行联合查询,或者对大量数据进行批量插入。本文将详细介绍如何使用...

    mybatis分布查询以及resulttype和resultmap的用法

    在实际开发中,我们经常需要进行分布查询,也就是多个表之间的联合查询,MyBatis提供了丰富的功能来处理这种情况。本篇文章将深入探讨MyBatis中的分布查询、`resultType`与`resultMap`的用法,并分享新手学习MyBatis...

    Mybatis高级映射查询

    通过自定义 `resultMap`,可以方便地处理嵌套查询和联合主键等问题。 5. 自动类型转换:Mybatis 提供了自动类型转换功能,可以根据 Java 类型和数据库类型进行自动匹配,简化了数据转换的代码。此外,还可以自定义 ...

    Mybatis增删改查实例(含联合查询)

    这个实例是针对初学者设计的,旨在帮助理解Mybatis如何进行基本的增删改查操作,以及如何处理多表联合查询并返回实体集合。让我们详细探讨一下其中涉及的关键知识点。 1. **Mybatis基础**: Mybatis是一个轻量级的...

    springmybatis

    mybatis实战教程mybatis in action之八mybatis 动态sql语句 mybatis实战教程mybatis in action之九mybatis 代码生成工具的使用 mybatis SqlSessionDaoSupport的使用附代码下载 转自:...

    MyBatis-Plus多表联合查询并且分页(3表联合)

    MyBatis-Plus 多表联合查询并且分页(3 表联合) MyBatis-Plus 是一个基于 MyBatis 的增强型 ORM 框架,提供了很多实用的功能,例如多表联合查询和分页等。下面我们将详细介绍如何使用 MyBatis-Plus 实现多表联合...

    支持连表查询的mybatis-plus

    `Wrapper`是一个条件构造器,可以构建复杂的SQL查询语句。例如,你可以创建一个`EqWrapper`(等于条件)或`LikeWrapper`(模糊匹配条件),然后调用`leftJoin()`或`rightJoin()`来添加连接条件。 ```java Query...

    应对sharding-jdbc结合mybatis实现分库分表功能 分表的联合查询采用将mysql的数据同步到elasticsearch进行筛选

    通过Sharding-JDBC和MyBatis实现数据库分片,结合Logstash将MySQL数据同步到Elasticsearch,解决了分库分表后的联合查询难题,同时利用Elasticsearch的高性能搜索能力,实现了高效的数据筛选。这样的设计思路在大...

    mybatis联表查询mapper.xml

    为了在查询时一并获取副表的数据,我们可以使用MyBatis的联合查询(JOIN)功能。 假设主表为`User`,副表为`Order`,`User`表有一个`userId`字段作为主键,`Order`表有一个`userId`字段作为外键引用`User`表。在`...

    mybatis.docx

    MyBatis 提供了多种高级查询功能,如结果分页、联合查询、子查询、关联查询等,使得 SQL 编写更加灵活。 9. **延迟加载(Lazy Loading)**: 当需要时,MyBatis 才会加载关联的对象,这种机制可以减少内存消耗,...

    mybatis多表查询.zip

    5. **动态SQL**:MyBatis的动态SQL功能非常强大,可以让我们在XML映射文件中编写条件语句,根据传入参数动态改变SQL结构,从而实现复杂的多表查询。常用的动态SQL标签有`&lt;if&gt;`, `&lt;choose&gt;`, `&lt;when&gt;`, `&lt;otherwise&gt;`...

    MyBatis - CRUD+多表联合查询

    在本示例中,我们将探讨如何使用MyBatis进行基本的CRUD(创建、读取、更新、删除)操作,并结合多表联合查询来获取更复杂的数据。 首先,我们从`mybatis建表语句.sql`开始。这个文件通常包含了创建数据库表的SQL...

    多表联合分页查询(Mybatis注解).zip_9AB_mybatis_skillwoc_全注解_多表关联分页查询

    本案例主要探讨的是如何使用Mybatis的注解进行多表联合分页查询,这对于提高开发效率和优化数据库性能至关重要。 首先,我们需要理解Mybatis注解的基本用法。Mybatis注解允许我们直接在Java类和方法上声明SQL语句,...

    mybatis项目

    6. **多表查询**:在实际项目中,往往需要进行多表联合查询。MyBatis支持JOIN操作,可以在Mapper XML文件中编写JOIN语句,或者使用`&lt;association&gt;`、`&lt;collection&gt;`等标签进行复杂关联映射。 7. **事务管理**:...

    mybatis笔记

    1. SQL映射文件:MyBatis的核心是XML配置文件或注解,其中包含了SQL语句和对应的Java方法映射。 2. 映射器接口:定义了数据库操作的方法,与XML中的SQL语句相对应。 3. SQLSession:执行数据库操作的对象,负责与...

    Mybatis第四天

    最后,**多表操作** 在实际项目中经常遇到,Mybatis提供了多种方式进行多表联合查询,包括LEFT JOIN、RIGHT JOIN等。通过注解方式,可以在@Select注解中写入复杂的JOIN语句,或者通过动态SQL(使用、、、等标签)来...

    完美解决MybatisPlus插件分页查询不起作用总是查询全部数据问题

    在不启用这个拦截器的情况下,尽管你可能使用了MP的分页API,但实际上不会在SQL中看到`LIMIT`或`OFFSET`这样的分页语句,从而导致查询返回所有数据。 问题在于,当你在使用MybatisPlus进行分页查询时,如果未正确...

    结合mybatis-plus实现简单不需要写sql的多表查询

    4. 联合查询多个实体:如果需要查询多个实体的字段,可以在 `newInstance()` 方法中传入更多的实体类,并通过下标或表名引用对应的字段。例如,查询订单、用户和地址的部分字段: ```java multipleSelect.new...

    mybatis061 多表查询

    本专题将深入探讨MyBatis的一对多关联查询,以"mybatis061 多表查询"为例,旨在帮助你理解和掌握如何在实际项目中实现多表数据的联合检索。 首先,了解一对多关系:在数据库设计中,一对多关系是指一个表中的记录...

Global site tag (gtag.js) - Google Analytics