五 Mybatis一对一关联查询的两种方式(基于resultType&基于resultMap)

关联查询:

一个用户对应多个订单,一个订单只有一个用户

订单关联用户:两种方式

一:基于resultTYpe是一个与表关系一样的pojo实现

主表订单,从表用户

首先要有一个与关联查询表关系一样的pojo

在代理接口添加方法,配置代理映射

最后进行单元测试

 二 : 基于resultMap(推荐)

pojo:在订单类中放置用户类对象,并且提供对应的setget方法

 在ResultMap中配置两表关系

基于resultMap配置关联查询的方法

单元测试:

原文地址:https://www.cnblogs.com/ltfxy/p/10409868.html

时间: 2024-10-12 16:22:31

五 Mybatis一对一关联查询的两种方式(基于resultType&基于resultMap)的相关文章

MyBatis开发Dao层的两种方式(Mapper动态代理方式)

MyBatis开发原始Dao层请阅读我的上一篇博客:MyBatis开发Dao层的两种方式(原始Dao层开发) 接上一篇博客继续介绍MyBatis开发Dao层的第二种方式:Mapper动态代理方式 Mapper接口开发方法只需要程序员编写Mapper接口(相当于Dao接口),由Mybatis框架根据接口定义创建接口的动态代理对象,代理对象的方法体同上一篇博客中Dao接口实现类方法. Mapper接口开发需要遵循以下规范: (1)Mapper.xml文件中的namespace与mapper接口的类路

MongoDB的使用学习之(七)MongoDB的聚合查询(两种方式)附项目源码

先来张在路上-- 此项目是用Maven创建的,没有使用Maven的,自己百度.谷歌去:直接用Junit测试就行,先执行里面的save方法,添加10000条测试数据提供各种聚合查询等. 废话不多说,上干货-- 一.MongoDB数据库的配置(mongodb.xml) 以下是我自己的配置,红色字体请改为自己本机的东东,你说不懂设置端口,不会创建数据库名称,不会配置用户名密码,那有请查阅本系列的第4节(MongoDB的使用学习之(四)权限设置--用户名.密码.端口==),你说懒得设置,那就@#¥%--

Hibernate 带参数查询的两种方式

1.使用?通配符 public User validate(String userName, String password) { String hql = "from User u where u.userName = ? and u.password = ?"; User user = null; List<User> list = ht.find(hql, new Object[]{userName, password}); if (list.size()!=0){

SpringBoot集成Mybatis实现多表查询的两种方式(基于xml)

 下面将在用户和账户进行一对一查询的基础上进行介绍SpringBoot集成Mybatis实现多表查询的基于xml的两种方式.   首先我们先创建两个数据库表,分别是user用户表和account账户表     user表:  account表:  然后创建实体类        **第一种通过创建子类的方式查询                             需求:查询所有的用户基础信息以及其所属的账户中的金额     1.创建想要得到多表查询数据的实体类(子类)            

Cocos2d-x学习笔记(五岁以下儿童) 精灵两种方式播放动画

 这几天在看控件类,临时没有想好实际运用的方向.单纯的创建网上已经有非常多这方面的样例,我就不写了.接下来是学习精灵类.精灵类若是单独学习也是非常easy.于是我加了一些有关动画方面的知识点与精灵类一起使用.让精灵播放简单的帧动画. 首先我们准备好动画素材,我在网上下了一个小游戏.将里面的素材做成了png和plist大图以供程序调用.我是用TexturePackerGUI来生成plist的.我选的是一个简单的待机动作,我们的目的就是让这张图动起来~ 第一种方式:使用CCSpriteFrame

mybatis一对一关联查询——(八)

1.需求 查询所有订单信息,关联查询下单用户信息. 注意: 因为一个订单信息只会是一个人下的订单,所以从查询订单信息出发关联查询用户信息为一对一查询.如果从用户信息出发查询用户下的订单信息则为一对多查询,因为一个用户可以下多个订单. 2.  方法一:resultType 使用resultType,定义订单信息po类,此po类中包括了订单信息和用户信息: 2.1     sql语句 确定查询的主表:订单表 确定查询的关联表:用户表 关联查询使用内链接?还是外链接? 由于orders表中有一个外键(

MyBatis中id回填的两种方式

在一种场景下需要刚刚插入数据的ID,如果数据少可以先看数据库,记下ID,但数据很多,假设一万个用户并发,每个用户都插入自己的ID,就很难记下来. 下面给定一个场景: 1 User user = new User("张三","123456",new Date());//此时user没有id 2 userDao.insertUser(user); 3 sqlSession.commit();//此时数据已经插入到数据库中,数据库中有id,但user依然没有id 4 Sy

Mybatis的select查询的三种方式

1.首先建立一个测试的dao 1 public interface IStudentDao { 2 3 // 根据姓名查询 4 List<Student> selectStudentsByName(String name); 5 } 2.对这个dao进行实现 1 public class StudentDaoImpl implements IStudentDao { 2 3 private SqlSession sqlSession; 4 5 // 根据姓名查询 6 public List&l

mybitis实现增,删,改,查,模糊查询的两种方式:(2)

方式二:mapper代理接口方式 这种方式只需要xml+接口(不用写实体类)但是需要符合三个规范 使用mapper'代理接口方式 在同一目录下(可以创建一个源文件夹,达到类文件和xml文件分类的作用) xml中namespace:命名空间为接口的全限定名(包名+类名) xml的文件名和接口的文件名相同,只是后缀名不同 接口中的方法名和xml中sql的id相同 1.创建一个java工程 2.将mysql的jar,mybatis的jar添加到构建路径中 3.写好配置文件 4.连接到数据库 5.写一个