栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

BuBu笔记——MyBatis进阶-多表查询(秃头BUBu的超详细备注,一定要看哦)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

BuBu笔记——MyBatis进阶-多表查询(秃头BUBu的超详细备注,一定要看哦)

MyBatis的多表查询
  • 前言
  • MyBatis多表配置方式
    • 一对一配置:使用< resultMap >做配置
    • 一对一配置:使用< resultMap > + < association >做配置
    • 一对多配置:使用< resultMap > + < collection >做配置
    • 多对多配置:使用< resultMap > + < collection >做配置
  • MyBatis的注解开发
    • 常用注解:
    • 使用注解进行增删改查操作
    • 注解实现复杂映射开发
  • ssm框架整合
    • 原始方式整合
      • 整合步骤
    • MyBatis整合Spring
      • 整合思路
      • 主要配置
    • 声明式事务控制实现
  • 总结


前言

Mybatis入门教程最后一个阶段啦


MyBatis多表配置方式 一对一配置:使用< resultMap >做配置

Mapper.xml文件的配置


	 //手动指定字段与实体属性的映射关系
	
	//column:数据表的字段名称 property:实体的属性名称


	select *,o.id oid from order s,user u whereo.uid=u.id


一对一配置:使用< resultMap > + < association >做配置

	
	
	 //association:匹配
		
		
		//property:当前实体(order)中的属性名称(private User user) 
		//javaType:当前实体(order)中的属性的类型(User)
	
	



一对多配置:使用< resultMap > + < collection >做配置

	
	
	//配置集合信息
	//property:集合名称 osType:当前集合中的数据类型
	
		//封装对象的数据
		
		
	

多对多配置:使用< resultMap > + < collection >做配置

	//user的信息
	
	
	//user内部的roleList信息
	
		
		
	

一对多查询与多对多查询,在配置上基本一致,区别主要是SQL语句的不同,多对多查询需要额外引入一张中间表。

MyBatis的注解开发 常用注解:

@Insert:实现新增
@Update:实现更新
@Delete:实现删除
@Select:实现查询
@Result:实现结果集封装
@Results:可以和@Result一起使用,封装多个结果集
@One:实现一对一结果集封装
@Many:实现一对多结果集封装

使用注解进行增删改查操作
//核心文件加载映射关系




注解实现复杂映射开发

使用@Results注解,@Result注解,@One注解,@Many注解组合完成复杂关系的配置

注解说明
@Results代替了标签< resultMap > 该注解可以使用单个@Result注解,也可以使用@Result集合使用格式:@Results({@Result(),@Result()})或@Results(@Result())
@Result代替了< id >标签和< result >标签@Result中属性介绍column:数据库的列名property:需要装配的属性名one:需要使用@One注解( @Result( one = @One ) () )many:需要使用@Many注解( @Result( many = @Many ) () )
@One(一对一)代替了< assocation >标签,是多表查询的关键,在注解中用来指定子查询返回单一对象。@One注解属性介绍select:指定用来多表查询的sqlmapper 使用格式@Result(column=" “,property=” “,one=@One(select=” "))
@Many(多对一)代替了< collection >标签,是多表查询的关键,在注解中用来指定子查询返回对象集合。使用格式:@Result(property=" “,column=” “,many=@Many(select=” "))
ssm框架整合 原始方式整合 整合步骤

1、创建表
2、创建Maven工程
3、导入Maven坐标
4、编写实体类
5、编写Mapper接口
6、编写Service接口
7、编写Service接口的实现
8、编写Controller
9、编写添加页面
10、编写列表页面
11、编写相应配置文件
12、测试

MyBatis整合Spring 整合思路
SqlSession sqlSession = MyBatisUtils.openSession();
AccountMapper accountMapper =sqlSession.getMapper(AccountMapper.class);

将Session工厂交给Spring容器管理,从容器中获得执行操作的Mapper实例即可

sqlSession.commit();
sqlSession.close();

将事务的控制交给Spring容器进行声明式事务控制

主要配置

1、在applicationContext.xml文件中配置





	
   	
   	
    

2、将SqlSessionFactory配置到Spring容器中



	
	
	



    

声明式事务控制实现


	



	
		
	



	


总结

MyBatis笔记就到这里啦,随后会有其他内容的笔记逐渐更新,希望大家多多支持,有问题的话多多指正

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/358211.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号