mybatis多对一、一对多、多对多、自关联查询

目录多对一创建对象创建接口sql 映射文件测试结果方法2:使用单表查询(分布查询)的方式实现多对一一对多创建po对象创建接口sql语句映射文件测试方法2:使用单表查询(分布查询)的方式实现一对多多对多创建po对象创建接口sql语句映射文件测试自关联po对象接口sql语句映射文件测试多对一指的是在...
摘要由CSDN通过智能技术生成

目录

多对一

创建对象

 创建接口

sql 映射文件

测试

结果

 方法2:使用单表查询(分布查询)的方式实现多对一

一对多

创建po对象

创建接口

sql语句映射文件

测试

方法2:使用单表查询(分布查询)的方式实现一对多

多对多

创建po对象

创建接口

sql语句映射文件

测试

自关联

po对象

接口

sql语句映射文件

测试


多对一

指的是在多的一端维护关联关系.

用户、 组表

创建对象

用户是的一段

Group是的一端

 创建接口

public interface UserDao {
     User getUserById(int uid);
}

sql 映射文件

<?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.iotek.dao.UserDao">
   
   <resultMap type="User" id="userMapper">
      <id column="uid" property="uid"/>
      <result column="uname" property="uname"/>
      <!--association关联查询-->
      <association property="group" javaType="Group">
        <id column="gid" property="gid"/>
        <result column="gname" property="gname"/>
      </association>
   </resultMap>
   
   <select id="getUserById" parameterType="int" resultMap="userMapper">
     SELECT gid,gname,uid,uname FROM tb_group g,tb_users u WHERE 
     g.gid=u.groupid AND u.uid=#{uid}
   </select>  
</mapper>

测试

	@Test
	public void getUserById() throws IOException {
		SqlSession sqlSession = Utils.getSqlSessionFactory().openSession();
	    UserDao userDao=sqlSession.getMapper(UserDao.class);
	    User user=userDao.getUserById(1);
	    System.out.println(user.getGroup().getGname());
	
	}

结果

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值