myBatis里表与表之间的关系 多对一时候

mybatis创建和删除表 mybatis 创建表和删除表一份 很实用的文档,希望大家下载浏览 立即下载

<帖子N>      对      <分类1>

1.所实现的映射关系是:在帖子分类的实体对象里包含的是帖子的实体对象的集合。

1)首先建立实体关系的映射,那么就需要在分类的实体里加入帖子的集合。代码如下:

package com.model;

import java.util.List;
//分类
public class Sort {
private Integer sortId;//分类编号
private List<Theme> themes;


public List<Theme> getThemes() {
return themes;
}
public void setThemes(List<Theme> themes) {
this.themes = themes;
}
public Integer getSortId() {
return sortId;
}
public void setSortId(Integer sortId) {
this.sortId = sortId;
}
public String getSortName() {
return sortName;
}
public void setSortName(String sortName) {
this.sortName = sortName;
}
private String sortName;//分类名称

}

2)创建一个TypeInfoMapper的实现接口:

package com.dao.imp;


import com.dao.IDaoBBS;
import com.model.Sort;


public interface SortMapper extends IDaoBBS<Sort>{


}

3)编写相应的sql配置文件:SortMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dao.imp.SortMapper">
<select id="getModel" resultMap="SortResult" parameterType="java.lang.Integer">
    select s.*,h.*,u.*
    from Sort s inner join Theme h
         on s.sortId=h.sortId
         Left join userInfo u
         on h.userId=u.userId
    where s.sortId=#{id}
</select>
<resultMap type="com.model.Sort" id="SortResult">
    <result column="sortId" property="sortId"></result>
    <result column="sortName" property="sortName"></result>
    <collection property="themes" ofType="com.model.Theme" resultMap="com.dao.imp.ThemeMapper.ThemeResult">
    
    </collection>
</resultMap>

</mapper>

注意:collection表示的是集合的数据。property表示所对应的集合的属性名。

      ofType表示集合里的数据的类型。resultMap表示的是调用的是其它的结果映射集。

      由于该结果映射集不在同一个文件下,那么就需要引入其它文件下的结果集。

      其它结果集的命名空间+结果集的名称。比如:

com.dao.imp.ThemeMapper.ThemeResult

测试:

public static void main(String[] args) {
// TODO Auto-generated method stub
String resource = "mybatis-config.xml";
InputStream inputStream = null;
try {
inputStream = Resources.getResourceAsStream(resource);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession = sqlSessionFactory.openSession();

SortMapper sortMapper=sqlSession.getMapper(SortMapper.class);
Sort s= sortMapper.getModel(1);
System.out.println("分类名称:"+s.getSortName());
List<Theme> list= s.getThemes();
for(Theme i:list){
System.out.println("帖子名称:"+i.getThemeName());
System.out.println("用户名:"+i.getThemeUserInfo().getUserName());
}


 



MyBatis的项目。实现增删改查,以及多表联查和对标签的使用。批量删除。 立即下载

相关推荐

Mybatis批量删除多表

MyBatis的作用我想不用多说,今天说说MyBatis中的批量删除操作。 需要的朋友一起看看吧

Mybatis中的多表操作(查询修改删除)

写一篇博客致我死去的时间 最近在写一个项目,信息管理方面的,对教师和班级的操作是通过关联表,一开始查询班级和查询班级对应的教师是两个接口,被人指点,发现应该就是一个接口,整体思路出现问题,大改! 目录 多表连查 多表删除 多表修改 多表连查 首先从实体类开始,数据库中没有的字段,但是我又要用到,应该这样做 这就表示数据库中没有这个字段,但是你要用。 在配置文件中用collection来进行分表查询 findById()这个方法是查询一个班级,而下面selectTeacher.

qq_53574615的博客 6583

【鸿蒙南向开发】OpenHarmony——分布式数据对象之功能实践

通过本文的学习可了解到分布式数据对象的主要接口、大致调用方法和功能实现等。结合对应内容,可以进一步对分布式数据对象同步机制做深度学习。下一步,(1) 着重理解同步组网的构建原理。(2) 着重理解同步组网内,监听change和status变化的实现。●如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:●关注小编,同时可以期待后续文章ing🚀,不定期分享原创知识。

HarmonyOS_666的博客 1092

Mybaitsplus的多表联合删除(不使用sql语句)

问题描述 提示:这里描述项目中遇到的问题: 如何使用mybatisplus删除主表的同时删子表的数据,使用事物来写 ,不用sql语句 解决方案: 1.先生成主表和父表的相关文件 2.主要的核心代码(主表是carbontest_demo,子表是carbontest_demo_child) @Transactional(rollbackFor = RRException.class) @Override public int deleteCarbontestByChild(Integ

shmilyzl的博客 2879

2023最新版kali安装教程

2023最新版kali安装教程 打开kali官网(https://www.kali.org/),下载kali镜像

qq_46346209的博客 2万+

BK7238(XH-WB3S)固件烧录实战:从AT固件选择到稳定下载全解析

本文详细解析了BK7238(XH-WB3S)模组固件烧录的全过程,从AT固件版本选择到稳定下载的实战技巧。重点介绍了烧录前的准备工作、硬件连接的正确姿势、烧录软件的实战技巧以及疑难问题排查指南,帮助开发者高效完成BK7238模组的固件烧录。

weixin_29159441的博客 255

Mybatis表关系操作(一对一、一对多、多对多)

Mybatis表关系操作(一对一、一对多、多对多)

lsh8886的博客 1279

基于深度学习的涂胶缺陷类型检测:数据集处理与YOLOv8模型实现

本文提出了一种基于YOLOv8深度学习的涂胶缺陷检测系统,针对断胶、溢胶、缺胶、气泡及胶条宽度异常等常见缺陷类型,实现了从数据采集到模型部署的完整解决方案。系统采用工业相机采集涂胶图像,通过多形态数据增强策略解决样本稀缺问题,利用YOLOv8框架实现高效检测。相比传统人工目检和规则式机器视觉方法,该系统在检测精度(mAP达97.5%)和实时性(单图检测耗时0.038秒)方面表现优异,可满足智能制造场景下的涂胶质量检测需求。

huanghm88的专栏 276

MyBatis增、删、改、查(多表查询)操作详解

MyBatis增、删、改、查(多表查询)操作详解

hhwuhu的博客 4215

ITIL 4 讲解:服务目录

最近一直比较忙,没有时间写文章了。今天有空,写写服务目录。 在最近的项目中,服务目录是比较热的话题。金融行业大部分银行、证券、金融公司都实行ITIL流程管理有些年头了,ITIL中最基础的服务请求、事件、问题和变更都已经实施完毕,目前客户在运维领域做的项目大部分都要求整理服务目录,实行服务级别管理。 服务目录介绍 首先解释一下什么是服务目录。服务目录在ITIL 4的定义是:有关服务提供商的所有服务和服务产品的结构化信息,与特定目标受众相关。这个解释有些晦涩难懂,简单来说就是提供给业务用户的服务项,就像饭

雅子MM的专栏 6468

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的生活垃圾检测与分类系统(Python+PySide6界面+训练代码)

随着城市化进程的加速和人口增长,生活垃圾管理已成为现代城市面临的重要挑战。传统的垃圾处理方法效率低下且成本高昂,急需智能化解决方案。本文详细介绍了基于YOLO系列算法(特别是YOLOv8)的智能生活垃圾检测与分类系统,该系统能够实时识别和分类多种生活垃圾,为智能垃圾处理和回收提供技术支持。系统包含完整的数据集构建、模型训练、评估和可视化界面,并提供了完整的实现代码。

YOLO 117

Mybatis高级

​ 在学习多表查询的之前,我们要先明确多表的关系都有哪些,如何划分。

2301_77165049的博客 1654

【系统分析师】核心考点:100个高频知识点汇总

本文系统梳理了系统分析师考试的11大领域高频考点,重点解析了计算机硬件与体系结构的7个核心知识点:计算机五大部件(CPU/存储器/总线等)、校验码类型(奇偶/海明/CRC)、CISC与RISC指令系统对比、总线分类与特性、RAID磁盘阵列级别、流水线技术原理及Flynn系统分类法。内容涵盖硬件组成、数据校验、指令架构、存储技术等关键概念,通过表格对比和公式说明,为考生提供结构化的知识框架与备考重点。

数据知道的博客 5573

MyBatis:多对一表关系详解

1,如果涉及到多表查询,必须用resultMap方式。如果用resultType方式,那么获取的信息只能放到一个类里面,而像Customer和Order这种关系,我们希望查出Customer的同时查出多个他里面的orderList集合,也就是要查询不止一种对象,就必须使用resultMap映射的方式,才能将关联到的那个类的信息拿到。   2,如果把配置文件中的查询语句改为 select id,

您已进入防沉迷系统... 4896

2、实时DSP编程技术及其应用

本文详细介绍了实时数字信号处理(DSP)技术及其应用,涵盖三种流行的浮点DSP处理器系列的特点、开发工具和优化方法。通过具体的应用实例,如语音压缩、音乐信号处理和雷达信号处理,展示了如何在实际项目中应用这些技术,帮助工程师提高系统的性能和可靠性。

cicd6pipeline的博客 840

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

MyBatis中多对一关系的三种处理方法

MyBatis中多对一关系的三种处理方法,1.通过级联属性赋值.2.通过标签.3.分步查询

. 1828

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Mybatis基础学习之多对一关系处理

前言: 小伙伴们,大家好,我是狂奔の蜗牛rz,当然你们可以叫我蜗牛君,我是一个学习Java半年多时间的小菜鸟,同时还有一个伟大的梦想,那就是有朝一日,成为一个优秀的Java架构师。 这个Mybatis基础学习系列是用来记录我学习Mybatis框架基础知识的全过程 (这个系列是参照B站狂神的Mybatis最新教程来写的,由于是之前整理的,但当时没有发布出来,所以有些地方可能有错误,希望大家能够及时指正!) 之后我将尽量以两天一更的速度更新这个系列,还没有学习Mybatis3框架的小伙伴可以参照我的

weixin_45301250的博客 878

mybatis-plus的多对一,一对多关系映射

一对多/多对一

m0_53682465的博客 5481

MyBatis自定义映射 ResultMap:多对一关系的优雅处理

处理多对一关系是ORM框架中的常见需求。在MyBatis中,你可以通过级联方式association标签或分步查询来优雅地实现这一需求。选择哪种方式取决于你的具体需求和数据库性能考虑。

热带鱼的技术博客 1249

快速了解MyBatis---映射关系多对一

项目中多对1 的关系是一个基本的映射关系, 多对1, 也可以理解成是1 对多.User — Pet: 一个用户可以养多只宠物Dep —Emp : 一个部门可以有多个员工。

m0_73557631的博客 1841

Mybatis resultMap中一对多和多对一的关系

假设有两张表 一张学生表和一张教师表 表的具体结构如下: 学生表的tid作为外键和教师表的id进行关联 这样学生和教师之间就有了奇妙的联系了。 对于学生来说 他们和教师之间的关系应该是 多对一 的关系 多个学生对应一个教师 但是对于教师而已 他们和学生之间的关系就应该是 一对多 的关系 一个教师对应多个学生嘛 对于这两种情况 我们分别来讲解一下 多对一的关系: 我们设计实体类的...

XXuan_的博客 1192

MyBatis多表配置一对多和多对一

1. property和column的值相同时,@Result可以省略。@Result:JavaBean的一个属性 和 表的一个列的对应关系。@Results:用于配置一个JavaBean与一个表的对应关系。@Many(select=“另一个mapper对应的方法”)mapper对应的方法要求:包名.类名.方法名。property:JavaBean的属性名。修改User对象,添加对应的订单属性。many:用于配置一对多关系的。驼峰映射:JavaBean的。column:表中列的名。

qiuyeyyy的博客 1811

mybatis 处理 一对多、多对一、多对多关系 注解及xml文件写法

本文章用于研究表与表之间、对象与对象之间的一对多、多对一、多对多联系。研究了xml文件配置和注解配置两种方式超级全哦~用于研究的实体有学生、老师、课程注意:学生和老师之间应该为多对多关系,本文章中采用的是多对一,即多个学生对应一个老师,一个老师对应多个学生。学生与课程之间为多对多关系。

weixin_67661067的博客 1249

mybatis的一对多、多对一关系

目录 1. 一对多 1.1 sql装配一对多关系 1.2 分步查询sql装配一对多关系 2. 多对一 2.1 sql装配多对一关系 2.2 分步查询sql装配多对一关系 使用mybatis操作关系型数据库的时候,往往会涉及到表数据的复杂关系。 基本知识:      resultMap标签:定义结果映射,处理复杂关系。      id标签:是主键映射。     &nbs

HC_JAVA崽 682

Mybatis——Mybatis表之间的关联关系和事务、缓存机制以及ORM

1. 表之间的关联关系 1.1 一对多的关联 1.2 多对一的关联 1.3 多对多的关联 1.4 一对一的关联 2. Mybatis知识点小结 2.1 事务 2.2 缓存机制 2.2.1 缓存执行机制 2.2.2 一级缓存 2.3 ORM

weixin_44606952的博客 1151

MyBatis中association(多对一)和collection(一对多)的联表查询

MyBatis中联表查询的实现 在使用数据库时,我们经常会需要联表查询,把数据库b的信息整合到数据库a一并查询,就类似于老师于学生,工作和员工的关系。 而Mybatis就提供了一些这样的配置标签来帮助我们进行联表操作,简化我们的操作:association和collection 每个标签还都分别有两种查询方法:1:按查询嵌套处理 2:按结果嵌套处理 1:association(多对一) association对象主要针对多个字段和同一个字段都有联系时,也就是多对一的情况。 MySQL数据库架构: 实体类:

a1369791292的博客 2843
上一篇: myBatis处理表与表之间的关系
下一篇: MyBatis 表与表之间的关系 1对多的情况
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值