请选择 进入手机版 | 继续访问电脑版

湖南新梦想

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 480|回复: 0

mybatis全局配置

[复制链接]

32

主题

32

帖子

114

积分

版主

Rank: 7Rank: 7Rank: 7

积分
114
发表于 2022-4-24 13:08:47 | 显示全部楼层 |阅读模式
objectFactory(对象工厂)2.6.plugins(插件)
MyBatis 允许你在映射语句执行过程中的某一点进行拦截调用。默认情况下,MyBatis 允许使用插件来拦截的方法调用包括:
  • Executor (update, query, flushStatements, commit, rollback, getTransaction, close, isClosed)
  • ParameterHandler (getParameterObject, setParameters)
  • ResultSetHandler (handleResultSets, handleOutputParameters)
  • StatementHandler (prepare, parameterize, batch, update, query)

这四个Mybatis扩展接口,可以通过这些扩展接口进行Mybatis的执行的拦截处理,是MyBatis进阶的必经之路,这里我们放到后面讲解MyBatis分页插件和源码的时候再跟大家讲解!
2.7.environments(环境配置)
MyBatis 可以配置成适应多种环境,这种机制有助于将 SQL 映射应用于多种数据库之中, 现实情况下有多种理由需要这么做。例如,开发、测试和生产环境需要有不同的配置;或者想在具有相同 Schema 的多个生产数据库中使用相同的 SQL 映射。还有许多类似的使用场景。
不过要记住:尽管可以配置多个环境,但每个 SqlSessionFactory 实例只能选择一种环境。
2.7.1.开发、测试和生产环境需要有不同的配置
比如我们在开发阶段使用的是公司给的开发环境的数据库服务器地址,但是公司的真正线上环境是不可以给你开发使用的,那么这个时候对于我们开发人员而言,在开发阶段肯定是要配置开发环境和线上环境的配置的,当我们开发阶段测试阶段我们就切换到开发环境,当我们开发完成一个版本这个时候,我们可能要将数据库的环境 切换到线上环境,这个时候我们的环境配置就能发挥他的作用了,如下:
<environments default="prod">
    <!-- 开发环境:开发服务器环境 -->
    <environment id="dev">
      <transactionManager type="JDBC" />
      <dataSource type="OOLED">
        <property name="driver" value="${driver}" />
        <property name="url" value="${url}" />
        <property name="username" value="${username}" />
        <property name="password" value="${password:root}" />
        <!-- 如果属性 'password' 没有被配置,'password' 属性的值将为 'root' -->
      </dataSource>
    </environment>
    <!-- 线上环境:线上的服务器环境 -->
    <environment id="prod">
      <transactionManager type="JDBC" />
      <dataSource type="OOLED">
        <property name="password" value="" />
        <property name="driver" value="${prod.driver}" />
        <property name="url" value="${prod.url}" />
        <property name="username" value="${prod.username}" />
        <property name="password" value="${prod.password}" />
      </dataSource>
    </environment>
  </environments>
其中db.properties文件内容如下:
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/wl-mybatis
username=root
password=root


prod.driver=com.oracle.jdbc.Driver
prod.url=jdbcracle:thin://127.0.0.1:1521/-mybatis
prod.username=scott
prod.password=tiger
开发人员在开发环境下,只需要将<environments default="dev"> 设置为dev,如果是测试环境则只需要将器设置为<environments default="prod">

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|湖南新梦想 ( 湘ICP备18019834号-2 )

GMT+8, 2022-11-28 19:48 , Processed in 0.041417 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表