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

yizhihongxing

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日

相关文章

  • MySQL 5.7 版本的安装及简单使用(图文教程)

    一、MySQL 5.7 版本的安装 官网下载MySQL 5.7的安装包从MySQL的官方网站(https://dev.mysql.com/downloads/mysql/)下载MySQL 5.7的安装包,选择对应操作系统的版本进行下载,建议下载压缩包文件,因为安装包可能不利于后续的更新。 解压MySQL压缩包将MySQL压缩包解压到合适的目录下,解压后主要有…

    database 2023年5月22日
    00
  • MySql增加用户、授权、修改密码等语句

    下面是”MySql增加用户、授权、修改密码等语句”的完整攻略。 MySql增加用户 在 MySql 中,我们可以使用 CREATE USER 语句来创建一个新的用户。下面是 CREATE USER 语句的基本语法: CREATE USER ‘username’@’localhost’ IDENTIFIED BY ‘password’; 其中,’usernam…

    database 2023年5月22日
    00
  • PHP数据库基于PDO操作类(mysql)

    这是网上找的关于Mysql的操作类,非常适合初学者使用 <?php class Mysql { protected static $_dbh = null; //静态属性,所有数据库实例共用,避免重复连接数据库 protected $_dbType = ‘mysql’; protected $_pconnect = true; //是否使用长连接 pr…

    MySQL 2023年4月13日
    00
  • oracle定时备份压缩的实现步骤

    以下是实现步骤的完整攻略: 1.准备工作 确认所需要备份的数据库的SID和Oracle实例名称 创建备份目录,以存放备份文件 检查服务器是否已经安装了需要的压缩工具(如gzip、tar等) 2.添加定时备份脚本 创建一个shell脚本,并命名为backup.sh。 在脚本中启动Oracle实例,使用expdp命令将数据库导出并压缩到备份目录下。 关闭Orac…

    database 2023年5月22日
    00
  • 非常好用的sql语句(日常整理)

    下面就为大家详细介绍一下“非常好用的SQL语句(日常整理)”的完整攻略。 标题 SQL语句介绍 SQL(Structured Query Language)是结构化查询语言的缩写,是一种用于管理关系数据库管理系统的语言。SQL语言是基于关系代数的关系型数据库系统,使用最广泛的DBMS(数据库管理系统)是MySQL,Oracle和SQL Server。 SQL…

    database 2023年5月21日
    00
  • php PDO属性设置与操作方法分析

    关于“PHP PDO属性设置与操作方法分析”的攻略,我会分为以下几个方面进行介绍: 什么是PDO? PDO(PHP Data Object)是PHP提供的一个轻量级的数据库操作库,其可以用于链接和操作数据库(MySQL、PostgreSQL、SQLite、Oracle等)。 PDO属性设置 在使用PDO链接数据库的过程中,我们需要设置一些属性,以及进行相关的…

    database 2023年5月21日
    00
  • Oracle数据库如何创建第一张表

    下面是Oracle数据库创建第一张表的完整攻略: 一、登录到Oracle数据库 首先,在命令行或图形界面工具中登陆Oracle数据库。可以使用以下命令进行登录: sqlplus username/password@database 其中,username是数据库的用户名,password是登录密码,database是数据库名字。例如,如果您的用户名为test…

    database 2023年5月21日
    00
  • MySQL和MariaDB的区别

    MySQL和MariaDB都是关系型数据库管理系统(RDBMS),它们在很多方面都很相似,但也有一些不同点。在本文中,我们将探讨MySQL和MariaDB之间的不同之处。 MySQL和MariaDB的历史 MySQL是由瑞典MySQL AB公司在1995年开始开发的。该项目于2008年被Sun Microsystems收购。2010年,Sun Microsy…

    database 2023年3月27日
    00
合作推广
合作推广
分享本页
返回顶部