全局配置文件:mybatis-config.xml

1、引入外部配置文件(properties)

date.properties外部配置文件

driver = com.mysql.cj.jdbc.Driver
url = jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf-8
username = root
password = 123456

mybatis-config.xml

<properties resource="date.properties"/>

2、settings设置

主要设置

mybatis-config.xml

<settings>
<!--打开mybatis的日志-->
<setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>

3、typeAliases别名处理器

为 Java 类型设置一个短的名字,可以方便我们 引用某个类。

mybatis-config.xml

<typeAliases>
<!--typeAlias是自定义别名-->
<typeAlias type="com.wang.Dao.StudentMapper" alias="studentMapper"/>
<!--package是为这个包下的类都创建一个开头小写的别名-->
<package name="com.wang.Pojo"/>
</typeAliases>

也可以用注解

@Alias("emp")
public class Employee{}

4、typeHandlers类型处理器

无论是 MyBatis 在预处理语句(PreparedStatement)中 设置一个参数时,还是从结果集中取出一个值时, 都会 用类型处理器将获取的值以合适的方式转换成 Java 类型。

5、plugins插件

插件是MyBatis提供的一个非常强大的机制,我们 可以通过插件来修改MyBatis的一些核心行为。插 件通过动态代理机制,可以介入四大对象的任何 一个方法的执行。后面会有专门的章节我们来介 绍mybatis运行原理以及插件

  • Executor (update, query, flushStatements, commit, rollback, getTransaction, close, isClosed)

  • ParameterHandler (getParameterObject, setParameters)

  • ResultSetHandler (handleResultSets, handleOutputParameters)

  • StatementHandler (prepare, parameterize, batch, update, query)

6、environments环境

MyBatis可以配置多种环境,比如开发、测试和生 产环境需要有不同的配置,

每种环境使用一个environment标签进行配置并指 定唯一标识符,

可以通过environments标签中的default属性指定 一个环境的标识符来快速的切换环境。

mybatis-config.xml

    <environments default="development">
<environment id="development">
<!--transactionManager事务管理器,JDBC|MANAGED|自定义,-->
<!--JDBC:使用了JDBC的提交和回滚设置-->
<!--MANAGED:不提交或回滚一个连接,让容器来管理事务的整个生命周期-->
<transactionManager type="JDBC"/>
<!--dataSource数据源,UNPOOLED|POOLED|JNDI|自定义-->
<!--UNPOOLED:不使用连接池-->
<!--POOLED:使用连接池-->
<!--JNDI: 在EJB 或应用服务器这类容器中查找指定的数据源-->
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>

7、databaseIdProvider环境

MyBatis 可以根据不同的数据库厂商执行不同的语句。

mybatis-config.xml

<!--type=BD_VENDOR是固定值-->
<databaseIdProvider type="BD_VENDOR">
<!--name:数据库厂商标识,value:为数据库起一个别名,方便后来的sql语句使用databaseld属性引用-->
<property name="MySQL" value="mysql"/>
<property name="Oracle" value="oracle"/>
<property name="SQL Server" value="sqlserver"/>
</databaseIdProvider>

sql映射配置文件中调用

8、mapper映射

mybatis-config.xml

<mappers>
<!--xml配置文件映射注册-->
<mapper resource="Mapper/StudentMapper.xml"/>
<mapper resource="Mapper/TeacherMapper.xml"/>
<!--注解映射注册-->
<mapper class="com.wang.Dao.StudentMapper"/>
<!--批量注册:这种方式要求SQL映射文件名必须和接口名相同并且在同一目录下-->
<package name="com.wang.Dao"/>
</mappers>

mybatis-3-核心配置文件的更多相关文章

  1. 掌握Mybatis的核心配置文件

    一.配置文件结构 MyBatis的核心配置文件配置了MyBatis的一些全局信息,包含数据库连接信息和MyBatis运行时所需的各种特性,以及设置和影响MyBatis行为的一些属性. 该配置文件的元素 ...

  2. MyBatis 创建核心配置文件和 SQL 映射文件

    Mybatis 的两个配置文件(mybatis-config.xml  和 xxxMapper.xml)都为 xml 类型,因此在 eclipse 中创建 xml 文件命名为相应的 mybatis-c ...

  3. 03.MyBatis的核心配置文件SqlMapConfig.xml

    SqlMapConfig.xml中配置的内容和顺序如下: properties(属性) settings(全局配置参数) typeAliases(类型别名) typeHandlers(类型处理器) o ...

  4. MyBatis探究-----核心配置文件mybatis-config.xml中配置mappers的几种方式

    1.package name="映射文件所在包名" 必须保证接口名(例如IUserDao)和xml名(IUserDao.xml)相同,还必须在同一个包中 例如:<packag ...

  5. mybatis的核心配置文件

    <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC &q ...

  6. MyBatis基本要素---核心配置文件

    今天就简单的叙述下MyBatis的核心配置文件吧~~ configuration  配置 properties  可以配置在java属性配置文件中 settings   修改Mybatis在运行时的行 ...

  7. mybatis源码配置文件解析之一:解析properties标签

    mybatis作为日常开发的常用ORM框架,在开发中起着很重要的作用,了解其源码对日常的开发有很大的帮助.源码版本为:3-3.4.x,可执行到github进行下载. 从这篇文章开始逐一分析mybati ...

  8. mybatis源码配置文件解析之二:解析settings标签

    在前边的博客中分析了mybatis解析properties标签,<mybatis源码配置文件解析之一:解析properties标签>.下面来看解析settings标签的过程. 一.概述 在 ...

  9. mybatis源码配置文件解析之五:解析mappers标签

    在上篇博客中分析了plugins标签,<mybatis源码配置文件解析之四:解析plugins标签>,了解了其使用方式及背后的原理.现在来分析<mappers>标签. 一.概述 ...

  10. mybatis源码配置文件解析之四:解析plugins标签

    在前边的博客在分析了mybatis解析typeAliases标签,<mybatis源码配置文件解析之三:解析typeAliases标签>.下面来看解析plugins标签的过程. 一.概述 ...

随机推荐

  1. 使用 Docker 部署 Node 应用 - 镜像文件尺寸的优化

    前面 使用 Docker 部署 Node 应用 一文中完成了镜像的创建和运行,不过生成的镜像还有些粗糙,需要进一步优化. 镜像的优化 通过 docker images 看到简单的一个 node 服务端 ...

  2. 怎么回答面试官:你对Spring的理解?

    最近看了点Spring的源码,正好来稍微扯一扯,帮一部分培训班的朋友撕开一道口子,透透气.我自己都是看的培训班视频,所以也算培训班出身吧.所以下文开口闭口"培训班",不要觉得是我在 ...

  3. [apue] linux 文件访问权限那些事儿

    前言 说到 linux 上的文件权限,其实我们在说两个实体,一是文件,二是进程.一个进程能不能访问一个文件,其实由三部分内容决定: 文件的所有者.所在的组: 文件对所有者.组用户.其它用户设置的权限访 ...

  4. Pandas高级教程之:处理缺失数据

    目录 简介 NaN的例子 整数类型的缺失值 Datetimes 类型的缺失值 None 和 np.nan 的转换 缺失值的计算 使用fillna填充NaN数据 使用dropna删除包含NA的数据 插值 ...

  5. IDEA拷贝类路径

    1.方法一 1.1.鼠标右击需要复制的类 1.2.点击 Copy Reference 2.方法二 快捷键:Ctrl + Alt + Shift + C

  6. Etcd中linearizable read实现

    linearizable 有点疑惑,不确定是现在浏览的版本没开发完全,还是没有按照论文的linearizable来实现. 按照论文所说,在客户端请求的时候,实际上是一个强一致的 exactly onc ...

  7. 05 jumpserver权限管理

    5.权限管理: 在同一个组下的用1户之间,资产是共享的. (1)为10.0.0.121_slavenode1资产授权: (2)为10.0.0.201_lc-pc资产授权: (3)查看授权列表:

  8. 13.7Cloneable接口

    要点提示:Cloneable接口给出了一个可克隆对象.

  9. 创建Maven项目骨架并使用

    1.archetype是什么? archetype 字面意思是 原型.可以理解为archetype相当于一个脚手架/模板,通过这个脚手架/模板我们可以快速的创建出一个项目. 比如下图中的这些就是mav ...

  10. 码云使用svn无法提交空文件夹

    错误信息: svn: E200015: Commit failed (details follow): svn: E200015: Empty directories is not supported ...