博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mybatis环境配置的相关补充
阅读量:2430 次
发布时间:2019-05-10

本文共 1486 字,大约阅读时间需要 4 分钟。

环境配置的模板

注意一些关键点:

  • environments默认使用的环境ID,通过使用environments元素中的default属性指定:
    在这里插入图片描述
  • 每个environment元素定义的环境ID,通过environment元素中的id属性设置:
    在这里插入图片描述

事务管理器(transactionManger)

mybatis的事务管理器通过transactionManager元素中的type属性设置

在mybatis中有两种类型的事务管理器:

  • JDBC:这个配置直接使用了JDBC的提交和回滚设施,它依赖从数据源获得的连接来管理事务作用域
  • MANAGED:这个配置几乎没做什么,它从不提交或回滚一个连接,而是让容器来管理事务的整个生命周期

这两种事务管理器类型都不需要设置任何属性(即不需要在标签内部增加任何的元素)

注意:如果使用spring-Mybatis,则有必要配置事务管理器,因为spring模块会使用自带的管理器来覆盖前面的配置

数据源(dataSource)

dataSource元素使用标准的JDBC数据源接口来配置JDBC连接对象的资源,有三种的内建的数据源类型:UNPOOLED,POOLED,JNDI

一般需要在dataSoruce元素内部设置五个属性:

  • driver——这是JDBC驱动的java全限定类名,比如mysql的驱动:com.mysql.jdbc.Driver
  • url——这是数据库的JDBCURL地址,如本地数据库URL地址:jdbc:mysql://localhost:3306/数据库名
  • username——登录数据库的用户名
  • password——登录数据库的密码
  • defaultTransactionIsolationLevel——默认的连接事务隔离级别
  • defaultNetWorkTimeout——等待数据库操作完成的默认网络超时时间

mybatis可以配置成适应多种环境,这种机制有助于将SQL映射应用于多种数据库之中,不过要记住:尽管可以配置多个环境,但是每个SqlSessionFactory实例只能选择一种环境,所以如果你想连接两个数据库,就需要创建两个SqlSessionFactory对象,每个对象对应一个数据库,比如需要连接三个数据库,则你就需要实例化三个SqlSessionFactory对象

为了指定要连接哪个数据库,只要将它作为可选的参数传递给SqlSessionFactoryBuilder即可,可以接受环境配置的两个方法签名是:

SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader, environment);SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader, environment, properties);

在这里插入图片描述

如果没有提供给SqlSessionFactoryBuilder的environment参数,则将会加载默认环境

映射器(mappers)

mabatis的行为已经在environments中配置完成,那么我们就需要定义SQL映射语句了。但是首先,我们需要告诉mybatis到哪里去找这些语句

在这里插入图片描述

转载地址:http://uljmb.baihongyu.com/

你可能感兴趣的文章
Redis运维和开发学习笔记(3)redis搭建集群
查看>>
linux创建指定大小的文件
查看>>
Redis运维和开发学习笔记(2) redis持久化
查看>>
Redis运维和开发学习笔记(4) Redis参数意义
查看>>
Redis运维和开发学习笔记(5) 主从复制和sentinel哨兵模式
查看>>
Redis运维和开发学习笔记(6) 监控Redis工作状态-info命令
查看>>
Redis运维和开发学习笔记(7) 内存管理和过期策略
查看>>
Redis源码分析(零)学习路径笔记
查看>>
Redis源码分析(一)redis.c //redis-server.c
查看>>
Redis源码分析(二)redis-cli.c
查看>>
redis源码剖析(三)——基础数据结构
查看>>
redis源码剖析(四)跳表
查看>>
redis源码剖析(五)—— 字符串,列表,哈希,集合,有序集合
查看>>
redis源码剖析(六)—— Redis 数据库、键过期的实现
查看>>
redis源码剖析(七)—— Redis 数据结构dict.c
查看>>
redis源码剖析(八)—— 当你启动Redis的时候,Redis做了什么
查看>>
redis源码剖析(九)—— Redis双链表实现
查看>>
redis源码剖析(十一)—— Redis字符串相关函数实现
查看>>
事务隔离级别动图演示
查看>>
mysql row_id为什么是6字节?为什么是8字节
查看>>