mybatis的表关联查询,多个参数关联查询

在网上很多mybatis的关联查询资料,但是要用主表的多个条件查子表的资料少之又少,今天刚好用到了,就分享下给大家,多条件的写法。(主要是注意红色字体代码)

实体类:

public class PhotoFeedback implements Serializable {

private int id;

private String name;

private int userId; //用户id

private List<PhotoFeedbackPic>  listPic;

}

photoFeedbackapper.xml的部分代码:

.......

<resultMap id="queryPhotoAllListResult" type="com.lianhua.tenement.domain.PhotoFeedback">

<result  property="id"  column="id" />

<result  property="name"  column="name"  />

<result  property="titleName"  column="titleName"  />

<result  property="describeTxt"  column="describeTxt"  />

<result  property="address"  column="address"  />

<result  property="telephone"  column="telephone"  />

<result  property="commentaries"  column="commentaries"  />

<result  property="enterpriseId"  column="enterpriseId"  />

<result  property="latitude"  column="latitude"  />

<result  property="longitude"  column="longitude"  />

<result  property="createTime"  column="createTime" />

<collection property="PhotoFeedbackPic" column="{id=id,createTime=createTime}" select="queryPhotoFeedbackList"  />

</resultMap>

<select id="queryPhotoFeedbackList" parameterType="java.util.Map"  resultType="com.lianhua.tenement.domain.PhotoFeedbackPic">

select

id as id ,

photoId as photoId,

month as month ,

pic_url as picUrl ,

pic_name as picName ,

create_time as createTime

from t_fip_business_photofeedback_pic

where photo_id = #{id} and month = date_format(#{date},‘%Y-%m‘)

</select>

写得不好望指教!

时间: 2024-10-01 06:24:13

mybatis的表关联查询,多个参数关联查询的相关文章

mybatis多表关联查询

mybatis多表关联查询 一:在一个对象(User )中建立另一个对象属性(userExtend): public class User implements Serializable{ private static final long serialVersionUID = 1L; /** ID */ private String id; /** 用户名 */ private String username; /** 登录密码 */ private String password; /**

Mybatis处理表关联(懒加载)

1.关系型数据库? 数据库中的表对象之间是有关系的. 一对一,一对多,多对多. ORM映射.数据库表映射到实体对象. 实体与实体之间是有关系的. 一对多的关系. 比如商品分类表与商品表之间的关系,就是一对多的关系. 入库主表与入库子表之间的关系,也是一对多的关系. 出库主表与出库子表之间的关系,也是一对多的关系. ID编号  教师编号   课程编号   其余字段  (外键的都是多的关系) 1        001 2        001 很明显的就是在多的这个表里会出现1的这个表里的字段. 2

实现多表关联来方便你的SELECT查询功能

这次来学习一下多表关联.比如在数据中创建下面几张表,你可以从主键PRIMARY KEY与外键FOREIGN KEY来看到这几张表它们之间的关系. 场所表[dbo].[SixS_Location]: 主题表[dbo].[SixS_Subject]: 问题表[dbo].[SixS]: 问题负责人表[dbo].[SixSResponsiblePerson]: 问题跟进表[dbo].[SixS_FollowUp]: 下面来实现怎样进行多表关联,在实现多表关联,Insus.NET不太喜欢写视图View,而

MyBatis关联查询,一对多关联查询

实体关系图,一个国家对应多个城市 一对多关联查询可用三种方式实现: 单步查询,利用collection标签为级联属性赋值: 分步查询: 利用association标签进行分步查询: 利用collection标签进行分步查询 单步查询 利用collection标签实现一对多单步关联查询: 指定进行关联查询的Java Bean字段,即collection标签的 property 属性: 指定集合中的Java Bean类型,即collection标签的 ofType属性: 实体类 public cla

[转]MyBatis动态传入表名,字段名参数的解决办法

一直在使用Mybatis这个ORM框架,都是使用mybatis里的一些常用功能.今天在项目开发中有个业务是需要限制各个用户对某些表里的字段查询以及某些字段是否显示,如某张表的某些字段不让用户查询到.这种情况下,就需要构建sql来动态传入表名.字段名了.现在对解决方法进行下总结,希望对遇到同样问题的伙伴有些帮助. 动态SQL是mybatis的强大特性之一,mybatis在对sql语句进行预编译之前,会对sql进行动态解析,解析为一个BoundSql对象,也是在此处对动态sql进行处理.下面让我们先

Mybatis多表查询之一对一查询的多种实现-XML配置

Mybatis 中对于多表查询提供了非常强大的实现方式,主要是通过resultMap的结果映射对于多表查询后的返回值进行封装,让我们来看一下官网上对于resultMap的解释:resultMap 元素是 MyBatis 中最重要最强大的元素.它可以让你从 90% 的 JDBC ResultSets 数据提取代码中解放出来,并在一些情形下允许你进行一些 JDBC 不支持的操作.实际上,在为一些比如连接的复杂语句编写映射代码的时候,一份 resultMap 能够代替实现同等功能的长达数千行的代码.R

drf-基表、断关联表关系、级联删除、正方向查询、子序列化

目录 基表 断关联表关系 外键字段属性 子序列化 基表 为抽象表,是专门用来被继承,提供公有字段的,自身不会完成数据库迁移 class BaseModel(models.Model): is_delete = models.BooleanField(default=False) created_time = models.DateTimeField(auto_now_add=True) class Meta: abstract = True 断关联表关系 不会影响连表查询操作效率 会提升连表增删

MyBatis查询传一个参数时报错:There is no getter for property named &#39;sleevetype&#39; in &#39;class java.lang.Integer

用MyBatis进行查询,传入参数只有一个时(非Map)如int,报错 There is no getter for property named 'sleevetype' in 'class java.lang.Integer 原因在于测试条件写法有误, <if test="sleevetype==0"><!-- 专属 --> exclusive=1 </if> <if test="sleevetype!=0">&l

informix中有无dual表,希望一次查询中 多个子查询 不同的不关联的多张表

informix中有无dual表为提高IO效率,希望一次查询中 多个子查询 不同的不关联的多张表 select (select a from table1 where ****),(select b from table2 where ****),(select c from table3 where ****)from dual; 可是貌似informix中没有dual表! 在网上搜索了一下select (select a from table1 where ****),(select b f

MyBatis 多表查询

1.多表设计 多表查询 a.多表设计 (1)一对一 在任意一方设计外键保存另一张表的主键,维系表和表的关系 (2)一对多 在多的一方设计外键保存一的一方的主键,维系表和表的关系 (3)多对多 设计一张第三方关系表,存储两张表的主键的对应关系,将一个多对多拆成两个一对多来存储 b.多表查询 笛卡尔积查询 内连接查询 外连接查询 左外连接查询 右外连接查询 全外连接查询 2.MyBatis中的一对一查询 create table room(id int primary key,name varcha