Mybatis介绍 & 配置文件

19 篇文章 1 订阅
10 篇文章 0 订阅

目录

基本信息

背景介绍

特点

mybatis配置xml文件

mybatis-config.xml文件


基本信息

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

背景介绍

MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Ordinary Java Objects,普通的 Java对象)映射成数据库中的记录。

每个MyBatis应用程序主要都是使用SqlSessionFactory实例的,一个SqlSessionFactory实例可以通过SqlSessionFactoryBuilder获得。SqlSessionFactoryBuilder可以从一个xml配置文件或者一个预定义的配置类的实例获得。

用xml文件构建SqlSessionFactory实例是非常简单的事情。推荐在这个配置中使用类路径资源(classpath resource),但你可以使用任何Reader实例,包括用文件路径或file://开头的url创建的实例。MyBatis有一个实用类----Resources,它有很多方法,可以方便地从类路径及其它位置加载资源。

特点

  • 简单易学:本身就很小且简单。没有任何第三方依赖,最简单安装只要两个jar文件+配置几个sql映射文件。易于学习,易于使用。通过文档和源代码,可以比较完全的掌握它的设计思路和实现。

  • 灵活:mybatis不会对应用程序或者数据库的现有设计强加任何影响。 sql写在xml里,便于统一管理和优化。通过sql语句可以满足操作数据库的所有需求。

  • 解除sql与程序代码的耦合:通过提供DAO层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。

  • 提供映射标签,支持对象与数据库的ORM字段关系映射。

  • 提供对象关系映射标签,支持对象关系组建维护。

  • 提供xml标签,支持编写动态sql。

mybatis配置xml文件

配置名称配置含义配置简介
configuration包裹所有配置标签整个配置文件的顶级标签。
properties属性该标签可以引入外部配置的属性,也可以自己配置。该配置标签所在的同一个配置文件中的其他配置均可引用此配置中的属性。
settings全局配置参数用来配置一些改变运行时行为的信息。例如是否使用缓存机制,是否使用延迟加载,是否使用错误处理机制等。并且可以设置最大并发请求数量、最大并发事务数量,以及是否启用命名空间等。
typeAliases类型别名用来设置一些别名来替代Java的长类型声明(如: java.lang.int变为int),减少配置编码的冗余。
typeHandlers类型处理器将SQL中返回的数据库类型转换为相应的Java类型的处理器配置。
objectFactory对象工厂实例化目标类的工厂类配置。
plugins插件可以通过插件修改MyBatis的核心行为,例如对语句执行的某一点进行拦截调用。
environments环境集合属性对象数据库环境信息的集合。在一个配置文件中,可以有多种数据库环境集合,这样可以使MyBatis将SQL同时映射至多个数据库。
environment环境子属性对象数据库环境配置的详细配置。
transactionManager事务管理指定MyBatis的事务管理器。
dataSource数据源使用其中的type指定数据源的连接类型,在标签对中可以使用property属性指定数据库连接池的其他信息。
mappers映射器配置SQL映射文件的位置,告知MyBatis去哪里加载SQL映射配置。

TIP:

MyBatis中的配置,不但有类型限制,还有顺序限制。

必须按照:<properties>、<settings>、<typeAliases>、<typeHandlers>、…顺序排放

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>
    <!--    属性-->
    <properties resource="database.properties"></properties>
    <!--    别名-->
    <typeAliases>
        <package name="org.example.pojo"/>
    </typeAliases>
    <!--    数据库连接池环境-->
    <environments default="mysqlDev">
        <environment id="mysqlDev">
            <!--            事务管理-->
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="POOLED">
                <property name="driver" value="${mysqldriver}"/>
                <property name="url" value="${mysqlurl}"/>
                <property name="username" value="${mysqluser}"/>
                <property name="password" value="${mysqlpwd}"/>
            </dataSource>
        </environment>
    </environments>

    <!--    映射-->
    <mappers>
        <!--        <mapper resource="org.example.dao.DogDao.xml" />-->
        <mapper resource="org.example.dao/DogDao.xml" />
        <!--        <mapper class="org.example.dao.DogDao.xml"></mapper>-->
        <!--        <mapper url="file:///E:/Java/untitled1/MybatisStu/src/resources/org.example.dao/DogDao.xml" />-->
    </mappers>
</configuration>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值