SSM :MyBatis与Spring的整合
MyBatis与Spring的整合
一:Spring整合MyBatis的准备工作:
(1.)在项目中加入Spring,ByBatis及整合相关的jar文件
(2.)建立开发目录结构,创建实体类
(3.)创建数据访问接口
(4.)配置SQL映射文件
(5.)配置MyBatis配置文件
二:实现Spring对MyBatis的整合
(1.)配置数据源
(2.)配置SqlSessionFactoryBean
(3.)使用SqlSessionTemplate实现数据库的操作
(4.)编写业务逻辑代码并测试
三:注入映射器实现
(1.)使用MapperFactoryBean主题映射器
规则:1.映射器命名空间和映射器接口的名称相同
2.映射器元素的id和映射器接口方法相同
(2.)使用MapperScannerConfigurer注入映射器(批量注入)
规则:1.basePackage属性中可以包含多个包名,多个包名之间使用逗号或者分号隔开
2.MapperScennerConfigurer会为所有有他创建的映射器实现开启自动配置
3.若环境中出现于不同目的的配置了多个SqlSessionFactory实例,自动配置将无法完成
四:配置声明式事务
(1.)事务管理器类DataSourceTransactionManager
增强事务:<tx:advice>
(2.)事务传播机制:
REQUIRED:默认值
REQUIRES_NEW:表示总是开启一个新的事务
MANDATORY:表示如果存在一个事务则支持当前事务,如果没有则抛出异常
NESTED:表示如果存在当前一个活动事务,则创建一个事务作为当前事物的嵌套事务,如果没有事务,该取值与REQUIRED相同
SUPPORTS:表示如果存在一个事务,则支持当前事务,如果没有当前事务,则安排这个事务挂起,然后执行该方法
NEVER:表示总以非事务方法执行。如果存在一个活动事务,则抛出异常
(3.)事务配置步骤
导入tx和aop命名空间
定义事务管理器Bean并为其注入数据源Bean
通过<tx:advice> 配置事务增强,绑定事务管理器并针对不同方法定义事务规则
配置切面,将事务增强与方法切入点组合
五:使用注解实现声明事务处理:
@transactional注解的属性
Propagation:枚举型
Isolation:枚举型
readOnly:布尔型
timeout:int类型
rollbackFor:一组Class累的实例,必须是Throwable的子类
rollbackForClassName:一组Class类的名称,必须是Throwable的子类
noRollbackFor:一组Class类的实例,必须是Throwable的子类
noRollbackForClassName:一组Class类的名称,必须是Throwable的子类
SSM :MyBatis与Spring的整合的更多相关文章
- Java基础-SSM之Spring和Mybatis以及Spring MVC整合案例
Java基础-SSM之Spring和Mybatis以及Spring MVC整合案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 能看到这篇文章的小伙伴,详细你已经有一定的Java ...
- mybatis 学习笔记(四):mybatis 和 spring 的整合
mybatis 学习笔记(四):mybatis 和 spring 的整合 尝试一下整合 mybatis 和 spring. 思路 spring通过单例方式管理SqlSessionFactory. sp ...
- 【Java EE 学习 79 下】【动态SQL】【mybatis和spring的整合】
一.动态SQL 什么是动态SQL,就是在不同的条件下,sql语句不相同的意思,曾经在“酒店会员管理系统”中写过大量的多条件查询,那是在SSH的环境中,所以只能在代码中进行判断,以下是其中一个多条件查询 ...
- 由“单独搭建Mybatis”到“Mybatis与Spring的整合/集成”
在J2EE领域,Hibernate与Mybatis是大家常用的持久层框架,它们各有特点,在持久层框架中处于领导地位. 本文主要介绍Mybatis(对于较小型的系统,特别是报表较多的系统,个人偏向Myb ...
- mybatis与spring的整合(代码实现)
mybatis与spring的整合(代码实现) 需要jar包: mybatis核心包:依赖包:log4j包:spring croe;beans;tx;aop;aspects;context;expre ...
- MyBatis与Spring的整合实例详解
从之前的代码中可以看出直接使用 MyBatis 框架的 SqlSession 访问数据库并不简便.MyBatis 框架的重点是 SQL 映射文件,为方便后续学习,本节讲解 MyBatis 与 Spri ...
- mybatis与spring的整合
今天是mybatis的最后一天,也是最为重要的一天,mybatis与spring整合,(spring相关知识我会抽一个大的模块进行讲解). 首先加入Spring的依赖 <dependency&g ...
- mybatis和spring的整合
Mybatis与Spring的集成 1.配置Spring环境 创建maven工程 pom.xml导入依赖 <project xmlns="http://maven.apache.org ...
- MyBatis入门(六)---mybatis与spring的整合
一.整合需要 1.1.方法 上一章中的数据 需要spring通过单例方式管理SqlSessionFactory spring和mybatis整合生成代理对象,使用SqlSessionFactory创建 ...
随机推荐
- 简单Elixir游戏服务器-安装Elixir
用WebInstaller 安装半天也没下载成功文件. 改成直接下载erlang 和 elixir 预编译包了. 安装很简单,最后设置好环境变量. cmd 执行 elixir -v 最后顺便下载了个g ...
- GRE 协议简介
1. 协议简介 gre(generic routing encapsulation,通用路由封装)协议是对某些网络层协议(如ip 和ipx)的数据报进行封装,使这些被封装的数据报能够在另一个网络 ...
- MVVM -- CallMethodAction 和 InvokeCommandAction
MVVM实践教程 算算,从事Silverlight和WPF的开发也有1年多的时间了,虽然时间不算长,虽然还没有突出的成就,但是感觉也还算一般. 但是,从头至今都没有去认真研究和使用过MVVM,虽然 ...
- Chloe.ORM框架应用实践
Chloe.ORM 是国人开发的一款数据库访问组件,很是简单易用.目前支持四种主流数据库:SqlServer.MySQL.Oracle,以及Sqlite,作者为这四种数据库划分出了各自对应的组件程序集 ...
- VB6文件操作自定义函数合集之一
'--与文件及文件夹操作相关的函数 '--必须引用FSO的ACTIVE OBJECT Dim strList As String '--列表串,返回文件列表 '================ '-- ...
- Android Parcelable理解与使用(对象序列化)
http://my.oschina.net/zhoulc/blog/172163 parcel定义介绍: android提供了一种新的类型:parcel(英文解释:包裹,小包),本类用来封装数据的容器 ...
- Linux命令-基本命令(1)
1. ll dfdfdfd 2. vi dfffd
- bzoj1812 [Ioi2005]riv
riv 几乎整个Byteland王国都被森林和河流所覆盖.小点的河汇聚到一起,形成了稍大点的河.就这样,所有的河水都汇聚并流进了一条大河,最后这条大河流进了大海.这条大河的入海口处有一个村庄--名叫B ...
- win10 uwp 读取文本GBK错误
本文讲的是解决UWP文本GBK打开乱码错误,如何去读取GBK,包括网页GBK.最后本文给出一个方法追加文本. 我使用NotePad记事本保存文件,格式ASCII,用微软示例打开文件方式读取,出现错误 ...
- hdu 4751 Divide Groups bfs (2013 ACM/ICPC Asia Regional Nanjing Online 1004)
SDUST的训练赛 当时死磕这个水题3个小时,也无心去搞其他的 按照题意,转换成无向图,预处理去掉单向的边,然后判断剩下的图能否构成两个无向完全图(ps一个完全图也行或是一个完全图+一个孤点) 代码是 ...