Mybatis初级---浅析配置文件、对数据库进行简单的增删改查

本文详细解析了Mybatis的全局配置文件,包括environments、transactionManager、dataSource和mappers部分,阐述了数据源类型和事务管理。此外,介绍了Mapper配置文件的使用,如select、insert、update和delete标签,以及如何实现对数据库的增删改查操作,包括全查和模糊查询。
摘要由CSDN通过智能技术生成

一、全局配置文件

1.1 environments

定义开发环境,可以写很多个环境,但每一个SqlSessionFactory 实例只能选择一种环境,
environments下会有很多个environment标签用于配置环境,比如说一个名叫p1的环境:
在这里插入图片描述

MyBatis 可以配置成适应多种环境,这种机制有助于将 SQL 映射应用于多种数据库之中, 现实情况下有多种理由需要这么做。例如,开发、测试和生产环境需要有不同的配置;或者想在具有相同 Schema 的多个生产数据库中使用相同的 SQL 映射。还有许多类似的使用场景。

1.2 transactionManager

事务管理器,分两类

  • JDBC – 这个配置直接使用了 JDBC 的提交和回滚设施,它依赖从数据源获得的连接来管理事务作用域。
  • MANAGED – 这个配置几乎没做什么。它从不提交或回滚一个连接,而是让容器来管理事务的整个生命周期(比如 JEE 应用服务器的上下文)。 默认情况下它会关闭连接。然而一些容器并不希望连接被关闭,因此需要将 closeConnection 属性设置为 false 来阻止默认的关闭行为。

1.3 dataSource

数据源,使用标准的JDBC 数据源接口来配置 JDBC 连接对象的资源。

大多数 MyBatis 应用程序会按示例中的例子来配置数据源。虽然数据源配置是可选的,但如果要启用延迟加载特性,就必须配置数据源。

有三种内建的数据源类型(也就是 type="[UNPOOLED|POOLED|JNDI]"):

  • UNPOOLED– 没有使用连接池,这个数据源的实现会每次请求时打开和关闭连接。虽然有点慢,但对那些数据库连接可用性要求不高的简单应用程序来说,是一个很好的选择。 性能表现则依赖于使用的数据库,对某些数据库来说,使用连接池并不重要,这个配置就很适合这种情形。
  • POOLED– 使用连接池,这种数据源的实现利用“池”的概念将 JDBC 连接对象组织起来,避免了创建新的连接实例时所必需的初始化和认证时间。 这种处理方式很流行,能使并发 Web 应用快速响应请求。
  • JNDI – 这个数据源实现是为了能在如 EJB 或应用服务器这类容器中使用,容器可以集中或在外部配置数据源,然后放置一个 JNDI 上下文的数据源引用。

1.4 mappers

映射器,用于注册映射,或者说给个路径去找XxxMapper.xml配置文件

我们需要告诉 MyBatis 到哪里去找到这些语句。 在自动查找资源方面,Java 并没有提供一个很好的解决方案,所以最好的办法是直接告诉 MyBatis 到哪里去找映射文件。 你可以使用相对于类路径的资源引用,或完全限定资源定位符(包括 file:/// 形式的 URL),或类名和包名等。


二、XxxMapper.xml配置文件

XxxMapper.xml对应的是XxxMapper接口
比如我这里PersonMapper接口对应的是PersonMapper.xml配置文件

2.1 mapper

mapper是根标签,里面有一个很重要的属性namepace

namespace:和哪个接口有映射关系

在这里插入图片描述

2.2 select、insert、update、delete

这些标签其实分别对应的就是数据库的查、增、改、删,里面最常用的属性有:

  • id:对应接口的方法名
  • parameterType:对应方法参数类型
  • resultType/resultMap:对应方法返回值类型
  • useGeneratedKeys:是否获取主键值
  • keyColumn:表中哪个字段为主键
  • keyProperty:获取得的主键值存到当前对象中的哪个属性

XxxMapper.xml和dao(即Mapper)接口的文件名一样;
XxxMapper.xml的命名空间namespace等于dao接口的全限定名(类路径)
XxxMapper.xml的id等于接口的方法名
XxxMapper.xml的parameterType等于方法的参数类型
XxxMapper.xml的resultType/resultMap等于方法的返回值类型

更多详细的对于配置文件的解析,可以前往mybatis中文文档:(https://mybatis.org/mybatis-3/zh/configuration.html#environments)


三、对数据库的增删改查

使用mybatis查询数据库非常的简单,看一下目录结构你就明白了
在这里插入图片描述

全局配置文件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>
    <!-- environments  多环境配置
         environment   配置数据源
         transactionManager     事务管理器
         dataSource     数据源
     -->
    <environments default="p1">
        <environment id="p1">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lichaohua!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值