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的整合的更多相关文章

  1. Java基础-SSM之Spring和Mybatis以及Spring MVC整合案例

    Java基础-SSM之Spring和Mybatis以及Spring MVC整合案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 能看到这篇文章的小伙伴,详细你已经有一定的Java ...

  2. mybatis 学习笔记(四):mybatis 和 spring 的整合

    mybatis 学习笔记(四):mybatis 和 spring 的整合 尝试一下整合 mybatis 和 spring. 思路 spring通过单例方式管理SqlSessionFactory. sp ...

  3. 【Java EE 学习 79 下】【动态SQL】【mybatis和spring的整合】

    一.动态SQL 什么是动态SQL,就是在不同的条件下,sql语句不相同的意思,曾经在“酒店会员管理系统”中写过大量的多条件查询,那是在SSH的环境中,所以只能在代码中进行判断,以下是其中一个多条件查询 ...

  4. 由“单独搭建Mybatis”到“Mybatis与Spring的整合/集成”

    在J2EE领域,Hibernate与Mybatis是大家常用的持久层框架,它们各有特点,在持久层框架中处于领导地位. 本文主要介绍Mybatis(对于较小型的系统,特别是报表较多的系统,个人偏向Myb ...

  5. mybatis与spring的整合(代码实现)

    mybatis与spring的整合(代码实现) 需要jar包: mybatis核心包:依赖包:log4j包:spring croe;beans;tx;aop;aspects;context;expre ...

  6. MyBatis与Spring的整合实例详解

    从之前的代码中可以看出直接使用 MyBatis 框架的 SqlSession 访问数据库并不简便.MyBatis 框架的重点是 SQL 映射文件,为方便后续学习,本节讲解 MyBatis 与 Spri ...

  7. mybatis与spring的整合

    今天是mybatis的最后一天,也是最为重要的一天,mybatis与spring整合,(spring相关知识我会抽一个大的模块进行讲解). 首先加入Spring的依赖 <dependency&g ...

  8. mybatis和spring的整合

    Mybatis与Spring的集成 1.配置Spring环境 创建maven工程 pom.xml导入依赖 <project xmlns="http://maven.apache.org ...

  9. MyBatis入门(六)---mybatis与spring的整合

    一.整合需要 1.1.方法 上一章中的数据 需要spring通过单例方式管理SqlSessionFactory spring和mybatis整合生成代理对象,使用SqlSessionFactory创建 ...

随机推荐

  1. centos7下安装tesseract-ocr进行验证码识别

    摘要: centos7安装依赖库 tesseract配置 代码例子 centos7安装依赖库 安装centos系统依赖 yum install -y automake autoconf libtool ...

  2. MongoDB学习教程(1)

    1.简介: MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.在高负载的情况下,添加更多的节点,可以保证服务器性能.MongoDB 旨在为WEB应用提供可扩展的高性能数据 ...

  3. IPSec协议

    IPSec协议:IPsec将IP数据包的内容先加密再传输,即便中途被截获,由于缺乏解密数据包所必要的密钥,攻击者也无法获取里面的内容. 传输模式和隧道模式:IPsec对数据进行加密的方式有两种:传输模 ...

  4. 举例:使用XML库的方式,实现RPC通信

    1.先说结论:使用xml-rpc的机制可以很方便的实现服务器间的RPC调用. 2.试验结果如下: 3.源码如下: 服务器端的源代码如下: import operator, math from Simp ...

  5. Chloe.ORM框架应用实践

    Chloe.ORM 是国人开发的一款数据库访问组件,很是简单易用.目前支持四种主流数据库:SqlServer.MySQL.Oracle,以及Sqlite,作者为这四种数据库划分出了各自对应的组件程序集 ...

  6. UWP 手绘视频创作工具技术分享系列 - 位图的绘制

    前面我们针对 SVG 的解析和绘制做了介绍,SVG 是图片的一种形式,而另一种很重要的图片是:位图,包括 png.jpeg.bmp 等格式.位图的基本规则是,组成的基本元素是像素点,由宽度 * 高度个 ...

  7. drcom 不耍流氓

    最近在研究PPPoE,于是做出了一个可以使用WIFI的客户端. 本软件只可以使用于学习交流,不可以使用于商业用途. 本软件在广工西区测试可以使用,软件开启360wifi可以使用.因为心跳包可能修改,本 ...

  8. 用 eclipse 创建一个简单的 meaven spring springMvc mybatis 项目

    下面是整体步骤: 1: 先创建一个Maven 项目: 选择跳过骨架: 因为要搭建的是 web 项目  所以这个地方选择 war 包; 点击完成 这样就完成 Maven项目的搭建: 接下俩 先把 Mav ...

  9. 【NOIP2015提高组】Day1 t1神奇的幻方

    一大淼题,直接瞎搞即可,不过一定要仔细看题目给定的条件. #include<iostream> #include<cstdio> #include<cstring> ...

  10. C 其他一些

    1.联合,语法 union{成员1;成员2;} 联合间的成员共享同一个空间,也就是说,成员1赋值如果没有被清除,会体现在成员2上 2.位字段,结合结构体瓜分完整的类型存储空间,如 struct{ ; ...