• 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的子类

  • 相关阅读:
    时间序列表示
    Resnet——深度残差网络(二)
    Resnet——深度残差网络(一)
    基于tensorflow2.0和cifar100的VGG13网络训练
    Android实战项目——家庭记账本(七)
    iOS-基于TCP连接<Scoket-客户端>
    Xcode更新到10.0之后遇到的那些坑:
    cell右侧的状态(accessoryType)
    2020最新cocoapods详细安装和使用
    AFNetworking上传一张或多张图片,并压缩图片节约占用内存
  • 原文地址:https://www.cnblogs.com/dkz1/p/7757923.html
Copyright © 2020-2023  润新知