Mybatis配置之properties和settings标签的用法

Mybatis是一种非常流行的Java ORM框架,用于快速方便地映射Java程序和数据库表之间的关系。其中,Mybatis配置文件中的properties和settings标签用来设置Mybatis框架和数据库连接的相关参数。下面详细介绍这两个重要标签的用法:

properties标签

Mybatis框架中,properties标签是用于设置框架中所需要的全局变量的标签。全局变量的值可以通过${key}的方式在配置文件中引用。properties标签可以被放置在任何位置,但必须在所有使用到变量的set中包含。其基本语法如下:

<properties resource="classpath:jdbc.properties"/>

其中,resource属性指定了一个classpath下的资源文件,用于存放需要的变量。在变量文件jdbc.properties中,可以设置多个properties值,格式如下:

jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql:///test
jdbc.username=root
jdbc.password=123456

在Mybatis的配置文件中,可以通过${key}的方式引用这些properties中的变量,示例如下:

<dataSource type="PooledDataSource">
  <property name="driver" value="${jdbc.driverClass}"/>
  <property name="url" value="${jdbc.url}"/>
  <property name="username" value="${jdbc.username}"/>
  <property name="password" value="${jdbc.password}"/>
</dataSource>

这里,PooledDataSource是Mybatis提供的一种连接池类型。上述的示例代码中,我们使用了${key}的方式引用了jdbc.properties文件中的变量。

settings标签

settings 标签是指 MyBatis 的设置,这个标签有多个属性用于配置整个 MyBatis 的设置,从而改变 MyBatis 的运行时行为。它的基本语法如下:

<settings>
  <setting name="jdbcTypeForNull" value="NULL" />
  <setting name="mapUnderscoreToCamelCase" value="true" />
  <setting name="logPrefix" value="mybatis_" />
</settings>

其中,name属性指定要进行设置的属性名称,value属性为该属性的值。常见的settings属性包括:

  • cacheEnabled - 全局地开启或关闭所有的缓存,其默认值为 true 。mybatis框架内置了一个高速缓存,并自动进行实现,如果不需要使用,可以将其关闭。
  • lazyLoadingEnabled - 设置为 true 启用懒加载特性。默认值是 false ,懒加载会在被主动调用(例如通过属性访问)时触发查询加载。
  • defaultStatementTimeout - 设置超时时间,用于控制数据库查询语句的运行时间,以毫秒为单位。如果查询超时,则会自动切断查询。
  • mapUnderscoreToCamelCase - 将驼峰式命名属性映射成下划线风格的列名字。默认值为 false。
  • logImpl - 指定 MyBatis 所用日志的具体实现,例如 SLF4J 或者 LOG4J。

示例代码如下:

<settings>
  <setting name="cacheEnabled" value="true" />
  <setting name="lazyLoadingEnabled" value="false" />
  <setting name="defaultStatementTimeout" value="2000" />
  <setting name="mapUnderscoreToCamelCase" value="true" />
  <setting name="logImpl" value="LOG4J" />
</settings>

在上述示例中,我们设置了开启缓存,禁用懒加载,超时时间为 2 秒,将模式下划线改为驼峰式,使用 LOG4J 作为日志实现。

综上,properties和settings标签都是Mybatis配置文件中非常重要的标签。通过这两个标签,我们可以灵活配置Mybatis框架中使用的全局变量和运行时属性,从而实现更加高效的数据库访问和操作。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Mybatis配置之properties和settings标签的用法 - Python技术站

(0)
上一篇 2023年5月21日
下一篇 2023年5月21日

相关文章

  • IBM DB2 和 PostgreSQL 的区别

    IBM DB2和PostgreSQL是两种非常受欢迎的关系型数据库管理系统。虽然它们都是关系型数据库管理系统,但它们之间有很多区别,包括社区支持、性能、可扩展性、安全性、功能和成本等方面。下面是一个详细的比较和说明: 社区支持 IBM DB2是由IBM开发和维护的商业数据库管理系统。它拥有一个庞大的客户群,并在大型企业和机构中广泛使用。然而,DB2的社区支持…

    database 2023年3月27日
    00
  • 超详细汇总21个值得收藏的mysql优化实践

    超详细汇总21个值得收藏的MySQL优化实践 在MySQL的使用过程中,优化是非常重要的一个环节。在优化过程中,涉及到的方面包括数据结构、数据库架构、查询语句优化等多个方面。下面将对21个值得收藏的MySQL优化实践进行超详细汇总: 优化架构 1. 数据库服务器的设置 MySQL服务器的设置对于整个数据库的性能有很大的影响。可以进行以下设置优化:- 修改缓存…

    database 2023年5月19日
    00
  • ORACLE出现错误1033和错误ORA-00600的解决方法

    ORACLE出现错误1033和错误ORA-00600的解决方法 错误1033的解决方法 当我们在使用Oracle数据库的时候,可能会遇到错误1033。错误1033的提示信息如下所示: ORA-01033: ORACLE initialization or shutdown in progress 这个错误信息常常在连接数据库的时候出现。出现这个错误的原因是因…

    database 2023年5月19日
    00
  • docker-compose创建网桥,添加子网,删除网卡的实现

    创建网桥 Docker-Compose 是 Docker 专门用于多容器 Docker 应用程序的工具。利用 Docker-Compose 创建 Docker 应用程序可以轻松快速搭建容器间的互联环境。 在 Docker-Compose 中,可以创建网桥,即 Docker 网络模型中的 bridge 模式,来实现容器之间的通信。具体步骤如下: 创建一个 do…

    database 2023年5月22日
    00
  • mysql备份的三种方式详解

    MySQL备份的三种方式详解 为什么需要备份MySQL? MySQL是一种非常重要的关系型数据库管理系统,为了避免数据丢失和避免服务停机时间过长,我们需要定期备份MySQL数据。定期备份MySQL可以对数据和系统进行还原,使得备份数据成为企业保障业务连续性和数据完整性的非常重要的一部分。 备份MySQL的三种方式 MySQL备份方法可以分为以下三种: 物理备…

    database 2023年5月22日
    00
  • oracle—SQL技巧之(一)连续记录查询sql案例测试

    下面是详细讲解“oracle—SQL技巧之(一)连续记录查询sql案例测试”的完整攻略。 标题 文章标题是“oracle—SQL技巧之(一)连续记录查询sql案例测试”,它表明这篇文章是介绍我们如何使用SQL技巧在oracle数据库中查询连续记录的。 简介 在SQL查询中,有时我们需要查询连续的记录,例如查询某个时间范围内的销售记录等。本篇文章将会介绍如何使…

    database 2023年5月21日
    00
  • MSSQL附加数据库拒绝访问提示5120错误的处理方法

    以下是MSSQL附加数据库拒绝访问提示5120错误的处理方法的完整攻略: 问题描述 在使用MSSQL Server Management Studio附加数据库时,可能会遇到拒绝访问并提示5120错误的情况。这个错误通常是由于权限不足或操作系统文件句柄正在被使用导致的。 处理方法 方法一:使用管理员权限运行MSSQL Server Management St…

    database 2023年5月19日
    00
  • centos6.8下redis的安装和配置

    下载、安装 在redis官网可以获取到最新版本的redis 进入/usr/local/目录,执行如下命令 wget http://download.redis.io/releases/redis-4.0.2.tar.gztar xzf redis-4.0.2.tar.gzcd redis-4.0.2make 执行make构建redis时报如下错误,这是因为没…

    Redis 2023年4月13日
    00
合作推广
合作推广
分享本页
返回顶部