MyBatis和Spring总结
学习总结
- 一、MyBatis
- 1、MyBatis程序流程
- 2、MyBatis CRUD
- 3、一对多、多对一的结果集映射
- 4、动态SQL
- 二、Spring
- 1、依赖注入
- 2、bean的作用域
- 3、bean的自动装配
- 在XML中配置
- 使用注解
- 4、整合MyBatis
一、MyBatis
1、MyBatis程序流程
- 导入 MyBatis 核心 jar 包
- 编写 MyBatis 核心配置 文件(配置数据源、事务管理)
- 编写 MyBatis 工具类
- 编写实体类
- 编写Mapper接口
- 编写Mapper接口对应的
mapper.xml
配置文件(namespace对应的就是接口) - 将
mapper.xml
配置文件注册到 MyBatis配置文件中 - 测试运行
2、MyBatis CRUD
- 注解
@Param
:在接口方法前加这个注解的意思就是SQL语句编写的时候,直接取注解中的值即可,不会再取参数值。 - 如果方法的参数过多或不清楚参数的数量,就使用Map作为参数类型。
- 增删改需要提交事务。
3、一对多、多对一的结果集映射
- 关联(association)用于一对一和多对一,多对一就是关联引用关系。
- 集合(collection)用于一对多,一对多就是包含关系。
- JavaType和TypeOf用于指定这个Java类型。
4、动态SQL
- if ,set,choose,trim,foreach 标签的作用和拼接的方法灵活运用
二、Spring
1、依赖注入
- 通过构造器注入时需要添加有参构造方法
- 通过set注入时,需要添加set方法,setXXX()
2、bean的作用域
- 单例(Singleton):在整个应用中,只创建bean的一个实例(默认就是单例)
- 原型(Prototype):每次注入或者通过Spring应用上下文获取都会创建一个新的bean实例
- 会话(Session):在web应用中,为每个回话创建一个bean实例
- 请求(Rquest):在Web应用中,为每个请求创建一个bean实例
3、bean的自动装配
在XML中配置
- byName自动装配:通过setXXX方式注入
- byType自动装配:使用autowire byType首先需要保证同一类型的对象,在spring容器中唯一。如果不唯一,会报不唯一的异常。
使用注解
- @Autowired是按类型自动转配的,不支持id匹配。需要导入 spring-aop的包!
- @Autowired是根据类型自动装配的,加上@Qualifier则可以根据byName的方式自动装配,@Qualifier不能单独使用。
- @Resource如有指定的name属性,先按该属性进行byName方式查找装配。
4、整合MyBatis
- 步骤:
1、 导入相关jar包(junit、spring相关、mybatis、mybatis-spring整合包 、mysql-connector-java、aspectJ AOP 织入器、)
2、配置Maven静态资源过滤问题
3、编写配置文件
4、代码实现
- 整合实现
1、引入Spring配置文件
2、配置数据源
3、注入SQLSessionFactory,配置configLocation关联Mybatis配置文件和mapperLocation
4、 注册sqlSessionTemplate,关联sqlSessionFactory
5、添加Mapper接口的实现类;私有化sqlSessionTemplate
6、注册bean实现
MyBatis和Spring总结相关推荐
- MyBatis - 6.Spring整合MyBatis
1.查看不同MyBatis版本整合Spring时使用的适配包: http://www.mybatis.org/spring/ 2.下载整合适配包 https://github.com/mybatis/ ...
- Mybatis和Spring集成 sessionFactory.openSession() 事务不生效问题
问题描述 Mybatis和Spring集成,查阅官方文档,得知Spring总会为你处理事务. 官方文档连接:http://mybatis.org/spring/zh/transactions.html ...
- Spring(四)——AOP、Spring实现AOP、Spring整合Mybatis、Spring中的事务管理
文章目录 1. 什么是AOP 2. 使用Spring实现AOP 2.1 使用Spring的API 接口实现 2.2 自定义实现 2.3 使用注解实现 3. 整合MyBatis 3.1 MyBatis- ...
- Mybatis与Spring整合之配置文件方式
Mybatis与Spring整合之配置文件 案例制作步骤--基础准备工作 ⚫ 环境准备 导入Spring坐标,MyBatis坐标,MySQL坐标,Druid坐标 ⚫ 业务类与接口准备 创建数据库表,并 ...
- MyBatis 与Spring 整合分析
http://www.mybatis.org/spring/zh/index.html 这里我们以传统的Spring 为例,因为配置更直观,在Spring 中使用配置类注解是一样的. 在前面的课程里面 ...
- MyBatis整合Spring的实现(2)
2019独角兽企业重金招聘Python工程师标准>>> 分析 MyBatis整合Spring的实现(1)中代码实现的4.1可以知道,XMLConfigBuilder类读取MyBati ...
- mybatis和spring整合时这个报错,应该这样解决!
01 问题描述 今天在写mybatis和spring整合的时候,出现了个问题,其实也没有多难,就是自己没有仔细看,特此记录一下. 报错问题如下: org.springframework.beans.f ...
- 使用MyBatis和Spring构建Java Web应用程序
这篇文章将展示如何在Spring环境中使用带有MyBatis框架的MYSQL DB创建学生注册应用程序. 这是一个简单的应用程序,旨在在注册期间从用户收集输入详细信息,将详细信息保存在MYSQL DB ...
- MyBatis 3 – Spring集成教程
作为本教程的第一步(带有MyBatis 3的Spring MVC 3 CRUD示例),我们将定义一个MyBatis服务,该服务将帮助我们在数据库上执行CRUD操作. 我们有一个用于User的域类和一个 ...
- MyBatis整合Spring原理分析
目录 MyBatis整合Spring原理分析 MapperScan的秘密 简单总结 假如不结合Spring框架,我们使用MyBatis时的一个典型使用方式如下: public class UserDa ...
最新文章
- 内存都没了,还能运行程序?
- PHP调用Webservice实例
- python dict根据value找对应的key_一个不得不了解的Python库——collections
- javascript --- 再识闭包
- Linux虚拟机下使用USB转串口线——配置minicom、以及screen的使用
- bzoj 3367: [Usaco2004 Feb]The Big Game 球赛(DP)
- 博弈论的经典入门课程和资料
- 如何传递NoteExpress的参考文献(包括题录和附件)给他人?
- 等额本金和等额本息还款方式的差异分析
- java解压加密的7z格式文件
- Docker版本变化说明
- [收集]仿163邮箱的JS编辑器
- 7-6 然后是几点(15 分)
- Android自定义控件三部曲
- TLM通信 — UVM
- es6 javascript的字符串对象新增团员方法
- 2019世界机器人大会圆满落幕
- 自制圆形文字ICON
- 阿里如何实现海量数据实时分析技术-AnalyticDB
- 创维盒子T1-H2903_1+8G_安卓4.4.2_当贝桌面-刷机固件包
热门文章
- java-循环变量定义问题
- Python中logging日志使用
- 初识python之django创建工程
- Leetcode: Reorder List Summary: Reverse a LinkedList
- 使用PhoneNumberValidator判断用户输入的电话格式,并用PhoneFormatter对电话号码格式化。...
- 基恩士光纤传感器怎么恢复出厂设置_光纤故障排查测试必备神器
- 拓端tecdat|R语言多元时间序列滚动预测:ARIMA、回归、ARIMAX模型分析
- Linux复习-shell程序设计
- (2)python_enumerate
- Servlet教程第0~3讲笔记