android room 多表查询

用一个data class来接收多表查的结果

Epc.kt 表1
@Entity(tableName = "epc",indices = [Index(value = ["epcId"], unique = true)]
)
data class Epc(/*** ID*/@PrimaryKey(autoGenerate = true)val _id: Int = 0,/*** 企业编码*/@ColumnInfo(name = "companyId")var companyId: String = "",/*** EPC 唯一编码*/@ColumnInfo(name = "epcId")var epcId: String = "",/*** EPC 唯一编码*/@ColumnInfo(name = "goodsId")var goodsId: Int = 0,/*** EPC 唯一编码*/@ColumnInfo(name = "epcCode")var epcCode: String = "",/*** epcUrl*/@ColumnInfo(name = "epcUrl")var epcUrl: String = "",) {@Ignoreconstructor():this(_id = 0, companyId="",epcId = "",  goodsId= 0)
}

Goods.kt 表2

@Entity(tableName = "goods",indices = [Index(value = ["goodsId"], unique = true)]
)
data class Goods(/*** ID*/@PrimaryKey(autoGenerate = true)val _id: Int = 0,/*** 企业编码*/@ColumnInfo(name = "companyId")var companyId: String = "",/*** 产品 唯一编码*/@ColumnInfo(name = "goodsId")var goodsId: Int = 0,/*** 产品 描述*/@ColumnInfo(name = "goodsDesc")var goodsDesc: String = "",
) {@Ignoreconstructor():this(_id = 0, companyId="", goodsId= 0, goodsDesc="")
}

EpcData 接收结果类

data class EpcData(/* @ColumnInfo(name = "goodsId")var goodsid: String = "",*/@Embeddedvar epc: Epc? = null, // : Goods;@Relation(parentColumn = "goodsId", entityColumn = "goodsId")var epcList: List<Goods>? = null
) : Serializable {@Ignoreconstructor() : this(epc = null, epcList = null)
}

DAO操作

//芯片表Db
@Dao
interface EpcDao {@SuppressWarnings(RoomWarnings.CURSOR_MISMATCH)@Transaction@Query("SELECT * FROM EPC INNER JOIN GOODS ON EPC.goodsId = goods.goodsId  where EPC.companyId=:companyId")fun getTableData(companyId: String): List<EpcData>?
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/30744.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

windows pyenv-win:pyenv 下载过慢

先到官网下载指定版本的 exe 文件 Python Releases for Windows | Python.org 根据自己电脑的 下载 32 或者 64 下载完成后将 exe 放入 install_cache 再到 powershell 中执行安装指令 pyenv install 3.12.4

八、C#运算符

C#运算符 晕杜甫是一种告诉编辑器执行特定的数学或逻辑操作的符号。C#有丰富的内置运算符&#xff0c;分类如下&#xff1a; 算术运算符关系运算符逻辑运算符位运算符赋值运算符其他运算符 算术运算符 下表显示了 C# 支持的所有算术运算符。假设变量 A 的值为 10&#xff0c…

带你学习Mybatis之拦截器

mybatis拦截器 mybatis拦截器也叫做插件&#xff0c;mybatis允许开发者自定义拦截器对SQL语句执行过程中的某一个点进行拦截。默认mybatis允许拦截Mybatis中的四大核心对象:Executor中的方法、ParameterHandler的方法、ResultSetHandler的方法以及StatementHandler中的方法 Exe…

备忘录文字颜色怎么改 备忘录改变字体颜色方法

在日常的工作和生活中&#xff0c;备忘录已经成为我不可或缺的好帮手。但是&#xff0c;面对满满当当的备忘录&#xff0c;有时候不同的任务和信息都混在一起&#xff0c;让人眼花缭乱。我常常想&#xff0c;如果能改变备忘录中的文字颜色&#xff0c;用以区分不同类别的事项&a…

高清无字幕搞笑视频素材去哪里找哪里下载的?

在制作搞笑视频时&#xff0c;优质的无字幕视频素材对于提升作品的趣味性和吸引力至关重要。今天&#xff0c;我将为大家介绍一系列高清视频素材网站&#xff0c;这些网站不仅资源丰富、质量上乘&#xff0c;还能助你一臂之力&#xff0c;迅速提升视频的创意和品质。首先要推荐…

龙迅LT9611UXC 2 PORT MIPIDSI/CSI转HDMI 2.1,支持音频IIS/SPDIF输入,支持标准4K60HZ输出

龙迅LT9611UXC描述&#xff1a; LT9611UXC是一个高性能的MIPI DSI/CSI到HDMI2.0转换器。MIPI DSI/CSI输入具有可配置的单端口或双端口&#xff0c;1高速时钟通道和1~4高速数据通道&#xff0c;最大2Gbps/通道&#xff0c;可支持高达16Gbps的总带宽。LT9611UXC支持突发模式DSI视…

第二证券股市资讯:股票中什么叫龙头?

龙头&#xff0c;也就是龙头股&#xff0c;指的是某一职业中有必定影响力和号召力的股票&#xff0c;龙头股的涨跌通常对其他同职业板块股票的涨跌有必定演示和引导作用&#xff0c;是一种风向标一般的存在。龙头股的技能面表现和成交量都会比同时刻的大盘和地块要强。 具体分…

网络技术 - 服务端响应头信息 Transfer-Encoding

Transfer-Encoding: chunked 是 HTTP/1.1 协议中定义的一种数据传输方式,它允许 HTTP 响应数据分成多个部分(即“块”)发送给客户端。以下是关于 Transfer-Encoding: chunked 的详细解释: 作用和目的 动态内容传输:对于动态生成的内容,服务器无法提前知道整个响应数据的…

北京健康检测小程序开发,爱自己,从体检开始

随着经济与科技的不断发展&#xff0c;人们也越来越重视自身的身体健康。面对市面上众多的体检机构与五花八门的体检产品&#xff0c;人们往往没有充足的时间进行筛选&#xff0c;好不容易选好了医院、但进行单项体检的价格较高&#xff0c;选择套餐&#xff0c;又包含了一些不…

谷歌Google广告开户是怎么收费的?

谷歌Google广告无疑是企业拓展全球视野、精准触达目标客户的强大引擎。而作为这一旅程的启航站&#xff0c;开户流程的便捷性与成本效益成为了众多企业关注的焦点。云衔科技&#xff0c;作为数字化营销解决方案与SaaS软件服务的领军者&#xff0c;正以其专业、高效的服务体系&a…

圈复杂度是什么?go语言调整圈复杂度举例

圈复杂度&#xff08;也称为循环复杂度或McCabe复杂度&#xff09;是衡量程序复杂性的一个指标&#xff0c;它通常与代码中的控制流结构&#xff08;如条件语句、循环和函数调用&#xff09;的数量相关。在Go语言中&#xff0c;你可以通过重构代码来降低圈复杂度&#xff0c;从…

Arcpy Python拆分shp数据要素为多个shp

我有一个各县shp文件&#xff0c;我想要拆分成不同的要素&#xff0c;命名根据NAME字段进行命名&#xff0c;字段值是字符串&#xff0c;以下为基于arcpy的python实现代码。&#xff08;python2.7&#xff09; import arcpy import os# 设置工作空间和输入的 shapefile 文件路…

【深度学习基础】详解Pytorch搭建CNN卷积神经网络LeNet-5实现手写数字识别

目录 写在开头 一、CNN的原理 1. 概述 2. 卷积层 内参数&#xff08;卷积核本身&#xff09; 外参数&#xff08;填充和步幅&#xff09; 输入与输出的尺寸关系 3. 多通道问题 多通道输入 多通道输出 4. 池化层 平均汇聚 最大值汇聚 二、手写数字识别 1. 任务…

main() 函数执行前,具体会初始化和创建哪些全局变量 ?

背景描述&#xff1a;使用 Objective-C 开发 iOS 或者 MacOS 应用 具体会初始化和创建哪些全局变量 &#xff1f; 在 iOS 应用程序的启动过程中&#xff0c;初始化和创建全局变量的步骤确实包含了多种类型的全局变量。具体来说&#xff0c;包含以下几种类型&#xff1a; C 全局…

MySQL:SELECT list is not in GROUP BY clause 报错 解决方案

一、前言 一大早上测试环境&#xff0c;发现测试环境的MySQL报错了。 SELECT list is not in GROUP BY clause and contains nonaggregated column二、解决方案 官方文档中提到&#xff1a; 大致意思&#xff1a; 用于GROUP BY的SQL / 92标准要求满足以下条件&#xff1a; SE…

建筑工程乙级资质与工程质量控制体系的构建

1. 质量管理体系建立 ISO 9001认证&#xff1a;虽然不是直接要求&#xff0c;但许多乙级资质企业会选择通过ISO 9001质量管理体系认证&#xff0c;以标准化管理流程&#xff0c;提升质量管理水平。质量方针与目标&#xff1a;明确企业的质量方针&#xff0c;设定可量化、可追踪…

AI绘画ComfyUI-插件-面部修复,快速入门安装使用!

这期给大家分享一个插件AI绘画 ComfyUI的——Impact Pack ComfyUI也是隶属于Stable Diffusion的工作流形式的AI绘画工具。 这是一个综合节点&#xff0c;这期先介绍下这个插件中的面部修复功能 Impact Pack插件 1、下载插件 在ComfyUI管理器中安装节点&#xff0c;搜索Imp…

昇思25天学习打卡营第2天 | 张量基础

内容介绍&#xff1a;张量&#xff08;Tensor&#xff09;是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数&#xff0c;这些线性关系的基本例子有内积、外积、线性映射以及笛卡儿积。 具体内容&#xff1a; 1. 导包 import numpy as np import minds…

Android 14 权限等级剖析

Android 14 权限等级剖析 Android 14 引入了新的权限等级&#xff0c;为应用程序访问敏感信息和功能提供了更细粒度的控制。了解这些新的权限等级及其应用场景对于开发人员至关重要。 1. 概述 Android 一直以来都使用权限机制来控制应用程序对系统资源和用户数据的访问。随着…

薅羊毛app小游戏对接广告联盟开发

开发一个薅羊毛app小游戏并对接广告联盟是一个涉及多个方面的复杂过程。以下是一些关键步骤和注意事项&#xff0c;帮助你更好地理解和规划这个过程&#xff1a; 1. 明确目标与定位 目标用户群体&#xff1a;确定你的目标用户是谁&#xff0c;他们的兴趣和需求是什么。游戏类…