Mybatis中的config.xml配置文件详细解析

经过前面的文章,我觉得对Mybatis的正题理解已经足够了,但是对Mybatis的使用,我觉得还是会有一点的模糊,就我个人而言,我觉得掌握好Mybatis框架,主要要明白三个文件,第一个就是等下要谈论的Mybatis-comfig.xml文件,还有就是**Mapper.xml,以及我们所定义的Mapper类,理解了这三个东西,然后有sql的基础,还有java的基础的话,后面不论是使用基于xml的方法,还是基于java-based Configuration的方法,都会简单的多。

废话不多说,现在就一起来理解一下第一个重要的文件:Mybatis-config.xml文件。

首先我们来看一下,一个空白的完整的Mybatis-config.xml文件(这个名字可以自由操作,必须要记住这个是Mybatis配置文件就行)

可以直接创建一个空白的xml文件,然后上去官网复制一份头文件,粘贴进来

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
</configuration 

上面这个就是基本的Mybatis-config.xml文件,我们在开发中需要添加我们需要的配置,下面就给出一个加上了基本的配置文件,通过这个来说:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<typeAliases>
<typeAlias alias="Student" type="com.mybatis3.domain.Student" />
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/test" />
<property name="username" value="root" />
<property name="password" value="admin" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/mybatis3/mappers/StudentMapper.xml" />
</mappers>
</configuration> 

从上面的内容里面我们可以看见的标签有下面这些,但是这些是什么意思呢?

<configuration>:声明在标签里面的信息是配置信息
<typeAliases>:声明在该标签里面的信息是一个个的别名
<typealias>:声明要使用别名的对象(全路径)用java注解的话可以使用@Alias注解声明
<environments>:声明在该标签内的环境变量,default表示默认的环境变量,一个environment表示一个jdbc连接数据库,如果有很多数据库的话我们要用到不同的环境变量
<environment>:声明环境变量
<transactionManager>:声明事务管理器      它的类型(type)有:JDBC(基于jdbc的事务) 还有 MANAGED(托管的事务)
<dataSource>:声明数据源,数据源的类型有NOPOOLED ,POOLED ,还有JIDN,在数据量少的话用ONPOOLED,测试和开发过程一般用POOLED,实际运行使用JIDN
<property>:jdbc连接的一些属性
<mappers>:声明我们定义的一个个Mapper类,或者说是关联
<mapper>:声明Mapper的路径

上面说到的都是在使用Mybatis要使用到的基本标签,必须要掌握,可能不明白上面那个environments的使用,怎么去获取一个environment,下面看看一个例子来:

InputStream in = Resource.getResourceAsInputSteam("mybatis.config");
 //定义默认environment
 defaultSqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
 //其他的environment
 otherSqlSessionFactory = new SqlSessionFactoryBuilder().build(in, "environment的ID"); 

上面的defaultSqlSessionFactory要自己声明(注意)

那么除了上面的标签之外还有哪些标签呢?下面在一个看看比较常用的其他标签

<Settings>:声明一些全局变量的

<properties>:声明属性文件的key和value,但是如果使用了.properties文件将会被覆盖。

<typeHandlers>:自定义我们的传入参数类型处理器,需要extends BaseTypeHandler<自定义响应的类型>

最后再来看看Mybatis默认的setting配置:

<setting name="cacheEnabled" value="true" />//是否使用缓存
<setting name="lazyLoadingEnabled" value="true" />//是否是懒记载
<setting name="multipleResultSetsEnabled" value="true" />
<setting name="useColumnLabel" value="true" />
<setting name="useGeneratedKeys" value="false" />
<setting name="autoMappingBehavior" value="PARTIAL" />
<setting name="defaultExecutorType" value="SIMPLE" />
<setting name="defaultStatementTimeout" value="25000" />
<setting name="safeRowBoundsEnabled" value="false" />
<setting name="mapUnderscoreToCamelCase" value="false" />
[java] view plain copy
<setting name="localCacheScope" value="SESSION" />
<setting name="jdbcTypeForNull" value="OTHER" />
<setting name="lazyLoadTriggerMethods" value="equals,clone,hashCode ,toString" /> 

总结

以上所述是小编给大家介绍的Mybatis中的config.xml配置文件详细解析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • MyBatis的 config.xml标签

    <?xml version="1.0" encoding="UTF-8" ?> <configuration><!-- 配置 --> <!-- <properties resource="XXXXXX.properties" /> 或者使用properties配置文件 读取顺序优先级次之 读取顺序参数传递优先级最低 --> <properties><!-- 属性 --&

  • MyBatis SqlMapConfig.xml配置

    SqlMapConfig.xml配置文件的内容和配置顺序如下 properties(属性) settings(全局配置参数) typeAiases(类型别名) typeHandlers(类型处理器) objectFactory(对象工厂) plugins(插件) environments(环境集合属性对象)mappers(映射器) environment(环境子属性对象) transactionManager(事物管理) datesource(数据源 mappers(映射器) 一.SqlMapC

  • 使用XSD校验Mybatis的SqlMapper配置文件的方法(1)

    这篇文章以前面对SqlSessionFactoryBean的重构为基础,先简单回顾一下做了哪些操作: 新建SqlSessionFactoryBean,初始代码和mybatis-spring相同: 重构buildSqlSessionFactory()方法,将众多的if语句抽取为一组小方法,预留自定义配置的方法,同时添加常用属性的getter方法: 提取组件工厂接口,并提供组件创建工具类SqlSessionComponetFactorys,将散落在不同地方的new Xxx()集中管理,便于组件的替换

  • MyBatis 如何写配置文件和简单使用

    MyBatis 如何写配置文件和简单使用 MyBatis3.x 这里简单贴一下MyBatis的介绍,具体使用方法会在代码中贴出. MyBatis的前世今生 MyBatis的前身就是iBatis,iBatis本是由Clinton Begin开发,后来捐给Apache基金会,成立了iBatis开源项目.2010年5月该项目由Apahce基金会迁移到了Google Code,并且改名为MyBatis. 尽管如此,它的包结构仍然为ibatis. www.mybatis.org/ https://gith

  • 详解MyBatis批量插入数据Mapper配置文件的写法

    对于MyBatis配置文件的用法一直不是很熟悉,之前一直是使用注解来开发的,但是注解也有不好的地方就是如果数据库的表结构发生变化在代码中修改起来很麻烦. 其实批量插入很简单,这里做些简要的说明.请看配置文件的写法: <insert id="insertAll" parameterType="java.util.List" useGeneratedKeys="true"> <selectKey resultType="l

  • MyBatis配置文件的写法和简单使用

    初识 MyBatis 一 最初 Apache 有一个batis的开源项目,放在Google code 中,后来因为一些原因迁移到了github,就是今天的myBatis 什么是 MyBatis ? MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀的持久层框架.MyBatis 避免了几乎所有的 JDBC 代码和手工设置参数以及抽取结果集.MyBatis 使用简单的 XML 或注解来配置和映射基本体,将接口和 Java 的 POJOs(Plain Old Java Objects,普

  • Mybatis Generator最完美配置文件详解(完整版)

    最近没做项目,重新整理了一个最完整的Mybatis Generator(简称MBG)的最完整配置文件,带详解,再也不用去看EN的User Guide了: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"

  • Mybatis中的config.xml配置文件详细解析

    经过前面的文章,我觉得对Mybatis的正题理解已经足够了,但是对Mybatis的使用,我觉得还是会有一点的模糊,就我个人而言,我觉得掌握好Mybatis框架,主要要明白三个文件,第一个就是等下要谈论的Mybatis-comfig.xml文件,还有就是**Mapper.xml,以及我们所定义的Mapper类,理解了这三个东西,然后有sql的基础,还有java的基础的话,后面不论是使用基于xml的方法,还是基于java-based Configuration的方法,都会简单的多. 废话不多说,现在

  • Maven中pom.xml配置文件详细介绍

    setting.xml主要用于配置maven的运行环境等一系列通用的属性,是全局级别的配置文件:而pom.xml主要描述了项目的maven坐标,依赖关系,开发者需要遵循的规则,缺陷管理系统,组织和licenses,以及其他所有的项目相关因素,是项目级别的配置文件. 基础配置 一个典型的pom.xml文件配置如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org

  • React函数式组件Hook中的useEffect函数的详细解析

    目录 前言 useEffect的作用 useEffect的使用? 1.class组件 2.函数式组件 总结 前言 React函数式编程没有生命周期,因此需要借助useEffect来实现. useEffect的作用 发ajax请求获取数据 设置订阅/获取定时器 手动更改真实DOM useEffect的使用? 1.class组件 在class组件中可以使用生命周期函数,知道组件触发的过程. 代码如下(示例): import React, { Component } from 'react' expo

  • React函数式组件Hook中的useState函数的详细解析

    目录 前言 一.什么是函数式组件 二.useState 前言 公司项目需要使用react,而函数式组件也是官方比较推荐的!!!所以学习hooks是很重要的. 一.什么是函数式组件 纯函数组件有以下特点: 没有状态 没有生命周期 没有 this 因存在如上特点,使得纯函数组件只能做UI展示的功能, 涉及到状态的管理与切换就不得不用到类组件或者redux. 但因为简单的页面也是用类组件,同时要继承一个React实例,使得代码会显得很重. 以前我们可以使用class来声明一个组件,其实使用functi

  • 详述 tomcat 中的 server.xml 配置文件示例

    正文 1 前言 Tomcat 隶属于 Apache 基金会,是开源的轻量级 Web 应用服务器,使用非常广泛.server.xml是 Tomcat 中最重要的配置文件,server.xml的每一个元素都对应了 Tomcat 中的一个组件:通过对 XML 文件中元素的配置,可以实现对 Tomcat 中各个组件的控制.因此,学习server.xml文件的配置,对于了解和使用 Tomcat 至关重要. 本文将通过实例,介绍server.xml中各个组件的配置,并详细说明 Tomcat 各个核心组件的作

  • Tomcat中的catalina.bat原理详细解析

    前言 本文主要给大家详细解析了关于Tomcat中catalina.bat原理的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. tomcat 的真正启动是在 catalina.bat 设置并启动的.startup.bat 只是找到catalina.bat 然后执行catalina.bat 来启动tomat的.下面我们来分析下catalina.bat 验证CATALINA_HOME 环境变量 验证CATALINA_HOME 设置是否正确,如果不正确,重新设置CATALIN

  • mybatis中注解与xml配置的对应关系和对比分析

    注解与xml配置的对应关系 mybatis中注解就是简单不需要写配置文件,适合简单的数据处理,理解起来比较容易,不动态生成SQL时候可以用用. 需要绑定,有些时候不如配置文件,配置文件扩展强. 选择合适的方式应用在合适的场景,注解主要应用于sql语句比较简单容易理解的情况下可读性高:生成动态sql时用xml配置文件要更简洁,扩展性强 常用的注解和xml的对应关系 @CacheNamespace 类 <cache> @CacheNamespaceRef 类 <cacheRef> @R

  • React Hook中的useState函数的详细解析

    useState => 让函数组件具有维持状态的能力useState 这个 Hook 是用来管理 state 的,它可以让函数组件具有维持状态的能力.即在一个函数组件的多次渲染之间,这个 state 是共享的. Hooks 的最大的作用就是可以让你在不编写class的情况下使用state以及其他的 React 特性 useState的详细解析 在上一篇文章中, 我用到useState来让大家体验一下hooks函数 import { memo, useState } from "react&

  • 资料:Office 2007中的config.xml个性定制说明资料

    通过定制config.xml,可以使你的Office 2007安装实现免序列号.定制用户名.跳过授权协议.定制安装路径.定制默认安装组件等功能.这里以Pro Plus版为例,用记事本打开光盘ProPlus.WW目录下的config.xml进行定制即可.以下是我定制好的config.xml文件内容: <Configuration Product="ProPlus"> ;Office 2007的版本标识,这里是Pro Plus版 <Display Level="

  • Tomcat中的startup.bat原理详细解析

    前言 在刚开始接触计算机,一开始就是win2000,所以对批处理脚本命令都不会.平时启TOMCAT都是鼠标双击startup.bat了,很少看过里面写的是什么,也借学习TOMCAT的机会学习一下批处理的常用命令,不求都记住,但求以后再见到批处理命令能看的懂,说的出是干什么的.本文主要给大家介绍了关于Tomcat中startup.bat原理的相关内容,下面话不多说了,来一起看看详细的介绍吧. startup.bat 解析 验证CATALINA_HOME 环境变量是否设置,如果没有设置则通过CATA

随机推荐