MyBatis 配置文件标签

article/2025/9/19 12:39:55

文章目录

    • MyBatis 配置文件标签
      • 1. properties
      • 2. settings
      • 3. plugins
      • 4. typeAliases
      • 5. environments
      • 6. mappers

MyBatis 配置文件标签

在这里插入图片描述

MyBatis 的全局配置文件习惯上命名为:mybatis-config.xml ,此文件名仅仅是建议,并非是强制要求。配置文件存放的位置是 src/main/resources 目录下。下面将介绍配置文件中常用的标签:

1. properties

​ 属性值定义,<properties>可以自定义属性值,也可以引入外部配置文件。可以使用 ${name} 获取对应的值。该标签通常用来将内部的配置外在化,即通过外部的配置文件来动态替换内部定义的属性。最常见的例子即为数据库的连接信息,即我们可以将数据源配置写到外部文件中,再使用此标签引入外部配置文件,这样就可以做到动态配置数据源。

db.properties 文件如下(此配置MySQL版本为8.0):

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/exercise?serverTimezone=GMT%2b8&useSSL=false&useUnicode=true&characterEncoding=UTF-8
jdbc.username: root
jdbc.password: 123456

mybatis-config.xml 配置文件如下:

<properties resource="db.properties"></properties>
<environments default="mysql"><environment id="mysql"><transactionManager type="JDBC"></transactionManager><dataSource type="POOLED"><property name="driver" value="${jdbc.driver}"/><property name="url" value="${jdbc.url}"/><property name="username" value="${jdbc.username}"/><property name="password" value="${jdbc.password}"/></dataSource></environment>
</environments>

2. settings

<settings> 是配置 MyBatis 运行时的一些行为的,例如缓存、延迟加载、命名规则等一系列控制性参数。举例如下:

<settings><!-- 开启二级缓存功能 --><setting name="cacheEnabled" value="true"/><!-- 开启延迟加载 --><setting name="lazyLoadingEnabled" value="true"/>
</settings>

3. plugins

<plugins> 是配置 MyBatis 插件的。插件可以增强 MyBatis 功能,比如进行sql增强,打印日志,异常处理以及分页插件等。配置分页插件如下:

<plugins><!-- 配置PageHelper插件 --><plugin interceptor="com.github.pagehelper.PageInterceptor"><!-- 设置数据库类型--><property name="helperDialect" value="mysql"/></plugin>
</plugins>

4. typeAliases

<typeAliases> 可以为配置文件中的 Java 类设置别名,MyBatis 对常用类有默认别名支持,别名可以减少全限定类名的冗余。举例如下:

<!-- 为一个类起别名,type为全类名,alias为别名 -->
<typeAliases><typeAlias type="com.it.entity.Student" alias="Student"></typeAlias>
</typeAliases>
<!-- 为一个包下的所有类起别名,name为包名。别名和类名相同,省略包名 -->
<typeAliases><package name="com.it.entity"></package>
</typeAliases>

5. environments

<environments> 可以为 MyBatis 配置数据环境,可以配置多种数据源,具体如下:

事务管理

<environments default="mysql"><environment id="mysql"><!-- JDBC:使用JDBC的提交和回滚 MANAGED:不做事务处理--><transactionManager type="JDBC"></transactionManager></environment>
</environments>

连接池:参考第一个标签的举例

注意:dataSource 的 type 属性:

  • POOLED:使用连接池管理连接,使用 MyBatis 自带的连接池。
  • UNPOOLED:不使用连接池,直接由 JDBC 连接。
  • JNDI:由 JAVAEE 服务器管理连接,如果使用 Tomcat 作为服务器则使用 Tomcat 自带的连接池管理。

6. mappers

<mappers> 用于注册映射文件或持久层接口,只有注册的映射文件才能使用,一般有以下四种方式可以完成注册:

(1)使用相对路径注册映射文件

<mappers><mapper resource="com/it/mapper/StudentMapper.xml"/>
</mappers>

(2)使用绝对路径注册映射文件

<mappers>  <mapper url="file:///D:idea_workspace/exercise/com/it/mapper/StudentMapper.xml"/>
</mappers>

(3)注册持久层接口(较常用)

<mappers>  <mapper class="com.it.mapper.StudentMapper"/>
</mappers>

(4)注册一个包下的所有持久层接口

<mappers><package name="com.it.mapper"/>
</mappers>

http://chatgpt.dhexx.cn/article/uHgL5b58.shtml

相关文章

Mybatis值trim标签

Mybatis具有实现动态SQL的能力&#xff0c;使用这个特性免不了会用到trim这个标签&#xff0c;trim标签的功能简单来说就是自定义格式拼凑SQL语句。 trim有4个属性&#xff1a; prefix&#xff1a;表示在trim包裹的SQL前添加指定内容 suffix&#xff1a;表示在trim包裹…

MyBatis foreach标签

前面我们学习了如何使用 Mybatis if、where、trim 等动态语句来处理一些简单的查询操作。对于一些 SQL 语句中含有 in 条件&#xff0c;需要迭代条件集合来生成的情况&#xff0c;可以使用 foreach 来实现 SQL 条件的迭代。 Mybatis foreach 标签用于循环语句&#xff0c;它很…

mybatis常用标签

一.定义sql语句 1.select 标签 属性介绍: &#xff08;1&#xff09;id :唯一的标识符. &#xff08;2&#xff09;parameterType:传给此语句的参数的全路径名或别名 例:com.test.poso.User或user &#xff08;3&#xff09;resultType :语句返回值类型或别名。注意&#xff…

Mybatis中标签大全

文章目录 一、标签分类 二、标签总结 1. 基础SQL标签 1.1 查询select 1.2 增删改 1.3 其他基础标签 1.3.1 sql 标签 1.3.2 include 标签 1.3.3 if 标签 1.3.4 别名 2. collection与association标签 3. resultMap标签 4. foreach标签 5. where标签 6. set标签 7.…

jarsigner命令行签名打包

jarsigner签名&#xff0c;之前都是通过AS进行签名&#xff0c;通过这种方式也是可以签名的&#xff0c;需要提前把需要的东西准备好&#xff0c;现在把步骤记录在下面。&#xff08;下面的操作都是在jdk的路径下进行操作&#xff09; 1.首先准备Jdk的路径&#xff08;在androi…

jarsigner: 无法打开 jar 文件: tap_unsign.apk

flutter 的 android项目上线&#xff0c;我们在想应用宝发布应用时&#xff0c;需将key.jks文件放入应用宝的空白文件中&#xff0c;在cmd中执行 jarsigner -verbose -keystore key.jks -signedjar baoming.apk tap_unsign.apk name遇到如下报错 jarsigner: 无法打开 jar 文件…

apk重签名之jarsigner命令签名

apk的签名工作可以通过两种方式来完成&#xff1a; 1&#xff09;通过ADT提供的图形化界面完成apk签名&#xff1b;2&#xff09;完全通过DOS命令来完成apk签名 1&#xff09;准备工作 我比较喜欢第2&#xff09;种方式&#xff0c;所以下面将讲解如何通过命令的方式完成apk…

jarsigner签名

上线了3年多的项目,最近为了进行市场推广,在现在主流的vivo,oppo,华为及百度和阿里进行上传应用.因为有些市场是因为有抓取包的行为(比如在oppo应用市场,以前从未在oppo市场上传过应用,但是能在他的市场中搜索到,这就是因为在其他市场比如应用宝这些市场抓取过包),因此在诸如op…

使用jarsigner工具apk签名算法问题

为 -digestalg 选项指定的SHA1 算法 被视为存在安全风险。此算法将在未来的更新中被禁用。 为 -sigalg 选项指定的SHA1withRSA 算法被视为存在安全风险。此算法将在未来的更新中被禁用。 修改&#xff1a; 将 signcmd "%sjarsigner" -keystore "%s" -st…

Metasploit远程控制安卓手机,jarsigner(工具找不到)签名使用问题zipalign(工具)及解决方法

问题点&#xff1a; 1.kali linux2020.3版本&#xff0c;在使用msf生成安卓木马时远控手机&#xff0c;签名时需要3个工具&#xff0c;分别是keytool,jarsigner,zipalign,只提示有keytool工具&#xff0c;jarsigner和zipalign工具找不到. 2.在模拟器中成功&#xff0c;但很多…

使用jarsigner对APK签名

写在文章中之前&#xff1a;网上当前很多关于jarsigner对APK签名的讲法&#xff0c;但是有些讲的很粗糙&#xff0c;有些还在就在抄袭他人的文章&#xff0c;而自己却没有去验证是否正确 一、由于自己在工作中要用到jarsigner对apk进行最后的发布签名&#xff0c;所以自己也去…

Android 应用平台加固之后操作(apk重签名「zipalign」「apksigner」「jarsigner」) 操作环境:MacOS

Android 应用平台加固之后操作&#xff08;apk重签名&#xff09;「zipalign」「apksigner」「jarsigner」 前言运行环境对齐&#xff08;zipalign&#xff09;重签名 apksigner (推荐方法)重签名 jarsigner (v1打包)具体使用对齐「zipalign」出现 "Output file ......apk…

Windows平台 使用jarsigner对Apk签名

使用的是JDK自带的jarsigner工具来完成Apk签名 1) 首先找到你的Java Jdk中bin的路径&#xff1a;C:\Program Files\Java\jdk1.8.0_152\bin jarsigner简单使用说明 #jarsigner的命令格式&#xff1a; jarsigner -verbose -keystore [您的私钥存放路径] -signedjar [签名后文件存…

jarsigner和apksigner对apk/aab签名

1、查看签名文件的信息 工具目录&#xff1a;C:\Program Files\Java\jre1.8.0_331\bin keytool -list -v -keystore E:\test.jks输入该命令&#xff0c;然后输入密码&#xff0c;即可查看签名信息 2、签名工具 签名工具说明位置jarsignerJDK提供的针对jar包签名的通用工具…

Android jarsigner和apksigner签名apk(.jks)

前言 为了增加 Apk 的安全性&#xff0c;防止反编译&#xff0c;我们会对开发的 Apk 做签名处理&#xff0c;如果要上架应用商店&#xff0c;部分还会要求 Apk 必须加固后才能上架。另外存在一部分免费加固apk后会删除AndroidStudio打包的签名&#xff0c;需要我们重新签名&am…

jarsigner命令详解

用法&#xff1a;jarsigner [选项] jar 文件别名 jarsigner -verify [选项] jar 文件 [-keystore <url>] 密钥库位置[-storepass <口令>] 用于密钥库完整性的口令[-storetype <类型>] 密钥库类型[-keypass <口令>] …

Java的安装及‘jarsigner‘ 不是内部或外部命令解决方法(附jdk8下载链接)

安装JDK 下载JDK&#xff1a; 网盘地址 , 提取码&#xff1a;y5f3 双击安装程序 一直点击下一步 到这里已经安装好了 但是执行 jarsigner命令会看到 ‘jarsigner‘ 不是内部或外部命令解决方法 的报错 解决 可能是因为在bin 目录下没有 jarsigner.exe&#xff0c;没有的…

【Android 教程系列第 28 篇】Android 分别使用 jarsigner 和 apksigner 对 APK 签名(v1、v2 签名)的详细教程

这是【Android 教程系列第 28 篇】&#xff0c;如果觉得有用的话&#xff0c;欢迎关注专栏。 为了增加 Apk 的安全性&#xff0c;防止反编译&#xff0c;我们会对开发的 Apk 做签名处理&#xff0c;如果要上架应用商店&#xff0c;部分还会要求 Apk 必须加固后才能上架。 而对…

【Java可执行命令】(十)JAR文件签名工具 jarsigner:通过数字签名及验证保证代码信任与安全,深入解析 Java的 jarsigner命令~

Java可执行命令之jarsigner 1️⃣ 概念2️⃣ 优势和缺点3️⃣ 使用3.1 语法3.1.1 可选参数&#xff1a;jarsigner -keystore < url>3.1.2 可选参数&#xff1a;jarsigner -storepass <口令>3.1.3 可选参数&#xff1a;jarsigner -keypass <口令>3.1.4 可选参…

您的凭据不工作,请输入新凭据

转载自 http://m.blog.csdn.net/article/details?id47706021 今天上班同事说远程桌面无法使用&#xff0c;然后VNC连接&#xff0c;查看情况&#xff0c;密码是正确的&#xff0c;防火墙也关了&#xff0c;百思不得其解。 上网查询问题&#xff0c;找到一个解决办法&#xff0…