0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

mybatis配置文件详解

PoisonApple 来源:网络整理 2018-02-12 11:16 次阅读

MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。

iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAOs)

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

mybatis配置文件详解

Mybatis配置文件详解

一、SqlSession的使用范围说明

1、SQLSessionFactoryBuilder

通过SqlSessionFactoryBuilder创建会话工厂SqlSessionFactory,将SqlSessionFactoryBuilder当成一个工具类使用即可,不需要使用单例模式管理,在创建SqlSessionFactory的时候,只需要new一次SqlSessionFactoryBuilder即可。

2、SqlSessionFactory

通过SqlSessionFactory创建SqlSession,使用单例模式来管理SqlSessionFactory(工厂一旦创建,只使用一个实例)。

3、SqlSession

SqlSession是一个面向用户(程序员)的接口。

SqlSession中提供了很多操作数据库的方法:如selectOne(返回单个对象)、selectList(返回单个或多个对象)。

SqlSession是线程不安全的,因为在SqlSession中除了有接口中的方法(操作数据库的方法)之外。还有数据域属性。

SqlSession的最佳应用场合是在方法体内,将其定义为局部变量来使用。

二、SqlMapConfig.xml配置文件详解

1、Properties属性

Properties属性用来加载属性配置文件。

《!--

加载属性文件

resource:属性文件的相对路径

url:属性文件的绝对路径

--》

《properties resource=“config/db.properties”》

《!--

配置一些属性

name:属性的名称

value:属性的值

--》

《!--《property name=“” value=“” /》 --》

《/properties》

properties特性:

Mybatis将按照下面的属性来加载属性:

1. 首先会读取在property标签中定义的属性。

2. 然后会读取在properties标签中通过resource或url加载时的属性,它会覆盖已读取得同名属性。

3. 最后会读取sql中parameterType传递过来的属性,它会覆盖已读取的同名属性。

2、settings全局参数配置

Mybatis框架在运行时可以调整一些运行参数,比如:开启二级缓存、开启延迟加载等。这些参数

要通过settings标签来配置,全局参数会影响Mybatis的运行行为,配置一定要注意。

《!--全局参数配置--》

《settings 》

《!--

name:属性名称

value:属性的值

--》

《setting name=“” value=“”/》

《/settings》

常用的全局配置参数如下:

mybatis配置文件详解

mybatis配置文件详解

mybatis配置文件详解

3、typeAlia

在映射文件中的parameterType和resultType属性中要指定输入、输出映射类型,如果类型为PO,要指定PO类的全路径这样不是特别方便,可以使用typeAlias定义一些别名,来方便开发。

《!--定义别名--》

《typeAliases》

《!--

type:需要起别名的字符串

alias:对应的别名

--》

《typeAlias type=“” alias=“” /》

《!--

name:包名,会对包下面的类进行扫描,自动批量设置别名,

设置的别名为类名,首字母大小写均可

--》

《package name=“” /》

《/typeAliases》

Mybatis的默认别名

mybatis配置文件详解

4、typeHandlers(类型处理器

Mybatis中通过typeHandlers完成jdbc类型和Java类型的装换。通常情况下,Mybatis提供的类型处理器满足日常需要,不需要我们再自定义。

《typeHandlers》

《typeHandler handler=“” jdbcType=“” javaType=“” /》

《/typeHandlers》

Mybatis默认支持的数据类型

mybatis配置文件详解

5、environments 环境

《!--

环境配置

在和Spring整合后改配置将废除

--》

《environments default=“development”》

《environment id=“development”》

《!--使用JDBC的事务管理,事务管理交给Mybatis--》

《transactionManager type=“JDBC”》《/transactionManager》

《!--数据库连接池,有Mybatis管理--》

《dataSource type=“POOLED”》

《property name=“driver” value=“com.mysql.jdbc.Driver” /》

《property name=“url” value=“jdbc:mysql://localhost:3306/mybatis” /》

《property name=“username” value=“root” /》

《property name=“password” value=“root” /》

《/dataSource》

《/environment》

《/environments》

6、mapper 加载映射文件

加载映射文件有三种方式

1、加载单个映射文件

《!--引入mapper--》

《mappers》

《!--rerource:引入映射文件相对于classpath的地址--》

《mapper resource=“config/sqlmap/userMapper.xml” /》

《/mappers》

2、通过Mapper接口加载单个映射文件

前提条件:

(1)。 使用Mapper代理的方式进行开发。

(2)。 Mapper接口文件名要和映射文件名一致

(3).Mapper接口文件和映射文件在同一个目录下

《!--引入mapper--》

《mappers》

《mapper class=“com.jack.po.UserMapper” /》

《/mappers》

3、批量记载映射文件

前提条件:

(1)。 使用Mapper代理的方式进行开发。

(2)。 Mapper接口文件名要和映射文件名一致

(3).Mapper接口文件和映射文件在同一个目录下

《!--引入mapper--》

《mappers》

《!--name:mapper接口文件所在的包路径--》

《package name=“” /》

《/mappers》

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 配置
    +关注

    关注

    1

    文章

    189

    浏览量

    18412
  • mybatis
    +关注

    关注

    0

    文章

    61

    浏览量

    6716
收藏 人收藏

    评论

    相关推荐

    基于libconfig进行配置文件解析

    本文介绍基于libconfig进行配置文件解析
    的头像 发表于 06-08 10:18 1450次阅读
    基于libconfig进行<b class='flag-5'>配置文件</b>解析

    Mybatis的特点和核心配置文件

    Mybatis—01基础&动态SQL
    发表于 08-07 14:20

    探讨PROE的配置文件——系统配置文件config.pro

    PROE的配置文件让不少初学者感到烦恼,尽管不少教材里都会提到关于PROE的配置文件。但大多数显得过于理论化,而不便于初学者理解,可操作性不强。本文力求以通俗的语言结合
    发表于 09-28 15:50 0次下载

    mybatis是什么_MyBatis的优缺点详解_mybatis框架入门详解

    Mybatis框架是别人开发的一种半成品软件,可以用来通过定制辅助快速开发是工具。MyBatis应用程序根据XML配置文件创建SqlSessionFactory,SqlSessionFactory在
    发表于 02-24 09:16 2w次阅读

    ICD配置文件的详细介绍和配置内容的详细概述

    配置文件配置文件是利用SCL语言描述变电站设备对象模型后生成的文件,用于在不同厂商的配置工具之间交换配置信息。
    的头像 发表于 06-02 11:16 1.8w次阅读
    ICD<b class='flag-5'>配置文件</b>的详细介绍和<b class='flag-5'>配置</b>内容的详细概述

    Keil的黑色界面配置文件配置方法

    本文档的主要内容详细介绍的是Keil的黑色界面配置文件配置方法。
    发表于 12-03 15:05 26次下载

    Python进行配置文件的教程免费下载

    本文档的主要内容详细介绍的是Python进行配置文件的教程免费下载。
    发表于 09-30 16:41 6次下载
    Python进行<b class='flag-5'>配置文件</b>的教程免费下载

    AD8283评估板设计和配置文件

    AD8283评估板设计和配置文件
    发表于 05-31 16:04 9次下载
    AD8283评估板设计和<b class='flag-5'>配置文件</b>

    labview读写配置文件实例分享

    labview读写配置文件实例分享
    发表于 11-01 16:05 45次下载

    SpringBoot配置文件application

    Map配置 YML配置文件: sys-num: mymap: "{'a':'aaa','b':'bbb'}" 方法内: public class learnMap { @Value
    的头像 发表于 01-13 15:28 658次阅读

    KT142C语音芯片配置文件总是不起作用?配置文件的问题集中归纳

    KT142C语音芯片配置文件总是不起作用?配置文件的问题集中归纳
    的头像 发表于 10-20 15:04 587次阅读
    KT142C语音芯片<b class='flag-5'>配置文件</b>总是不起作用?<b class='flag-5'>配置文件</b>的问题集中归纳

    linux修改网卡ip配置文件

    Linux是一种开源的操作系统,因此,它给用户提供了很高的自由度,可以根据个人需要进行各种定制和配置。其中,修改网络接口配置文件是常见的操作,可以通过修改网卡ip配置文件来设置网络接口的IP地址
    的头像 发表于 11-17 10:51 2297次阅读

    springboot的全局配置文件有几种

    Spring Boot是一种快速开发框架,其通过提供配置文件来实现对应用程序的配置。全局配置文件在Spring Boot中起着非常重要的作用,可以用于配置各种不同的属性,包括数据库连接
    的头像 发表于 12-03 15:28 1599次阅读

    zookeeper的核心配置文件是什么

    Zookeeper是一个常用的分布式协调服务,它被广泛应用于大型分布式系统中。Zookeeper的核心配置文件是zoo.cfg,它包含了Zookeeper服务器的各种配置参数,可以通过修改这些参数
    的头像 发表于 12-04 10:33 833次阅读

    php的配置文件是什么

    PHP的配置文件是一种用于配置PHP解释器的文本文件。它包含了一系列的指令和选项,用于影响PHP的行为和性能。通过修改配置文件,可以改变PHP解释器的默认行为,从而满足不同的需求。 在
    的头像 发表于 12-04 15:55 1586次阅读