【MyBatis】全局配置文件—mybatis.xml 创建xml模板

devtools/2024/11/24 16:57:36/
xmlns="http://www.w3.org/2000/svg" style="display: none;">

文章目录

      • 模板文件
      • 配置元素
        • typeAliases
        • settings

模板文件

创建模板

按照顺序打开【File】–>【settings】–>【Editor】–>【File and Code Templates】(或直接搜索)

在这里插入图片描述

xml"><?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration></configuration>

配置元素

<configuration> 元素是 MyBatis 框架的核心配置元素,包含了MyBatis运行时的所有配置信息。

<!ELEMENT configuration (properties?, settings?, typeAliases?, typeHandlers?, objectFactory?, objectWrapperFactory?, reflectorFactory?, plugins?, environments?, databaseIdProvider?, mappers?)>

MyBatis 配置文件中可能包含的各种子元素及其顺序

  • <properties>: 用于引入外部属性文件,可以定义一些变量供整个配置文件使用。
  • <settings>: 配置MyBatis的行为,比如开启或关闭缓存、设置日志实现等。
  • <typeAliases>: 为Java类型设置别名,可以在映射文件中使用更短的名字来代替全限定类名。
  • <typeHandlers>: 定义如何将预处理语句中的参数转换为JDBC可识别的类型,以及如何从结果集转换回Java类型。
  • <objectFactory>: 当MyBatis需要创建一个新的对象时,会使用到这个工厂类。可以自定义对象的创建方式。
  • <objectWrapperFactory>: 自定义MyBatis如何包装返回的对象。
  • <reflectorFactory>: 可以自定义反射器工厂,影响MyBatis如何通过反射访问对象属性。
  • <plugins>: 插件元素,用于扩展MyBatis的功能,如分页插件等。
  • <environments>: 定义环境配置,包括事务管理和数据源配置,支持配置多种环境。
  • <databaseIdProvider>: 提供数据库厂商ID,可以用来根据不同的数据库厂商执行不同的SQL语句。
  • <mappers>: 映射文件的注册,告诉MyBatis去哪里找映射文件。
typeAliases
xml"><configuration><!-- 简化包名 --><typeAliases><package name="com.hz.pojo"/></typeAliases><!-- 其他配置项 -->
</configuration>

使用 <package> 标签时,MyBatis 会自动为指定包下的所有类生成别名。别名默认为类名(不包括包名),并且首字母小写。例:

  • com.hz.pojo.User 的别名为 user
  • com.hz.pojo.Order 的别名为 order

若需要为某个类指定一个特定的别名,可以使用 <typeAlias> 标签:

xml"><typeAliases><package name="com.hz.pojo"/><typeAlias type="com.hz.pojo.Bill" alias="myBill"/>
</typeAliases>

设置后,在SQL映射文件中就可以直接使用这些别名,而不需要写完整的类路径

xml"><mapper namespace="com.hz.dao.BillDao"><select id="findBillById" parameterType="Long" resultType="bill">select id,billCode,productName,productDescfrom smbms_bill a where id = #{id}</select>
</mapper>
settings
xml"><settings><!-- 配置 MyBatis 的日志实现 --><setting name="logImpl" value="LOG4J"/>
</settings>

MyBatis支持多种日志实现,包括但不限于:SLF4JLOG4JCOMMONS_LOGGINGSTDOUT_LOGGINGNO_LOGGING。其中,STDOUT_LOGGING 将日志直接输出到标准输出流(通常是控制台)。

示例:

java"><?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><!--引入properties文件--><properties resource="jdbc.properties"></properties><settings><!-- value="STDOUT_LOGGING" 配置打印SQL语句 --><setting name="logImpl" value="STDOUT_LOGGING"/></settings><!--简化包名--><typeAliases><package name="com.hz.pojo"/></typeAliases><!--创建数据源 默认加载cs--><environments default="development"><environment id="development"><!--采用 JDBC方式加载事务--><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><!--扫描mapper文件--><mappers><mapper resource="mappers/UserMapper.xml"/><mapper resource="mappers/ProviderMapper.xml"/></mappers></configuration>

http://www.ppmy.cn/devtools/136591.html

相关文章

网络安全设备Bypass

一. 什么是bypass 网络安全设备一般都是应用在两个或更多的网络之间&#xff0c;比如内网和外网之间&#xff0c;网络安全设备内的应用程序会对通过他的网络封包来进行分析&#xff0c;以判断是否有威胁存在&#xff0c;处理完后再按照一定的路由规则将封包转发出去&#xff0c…

SQL 语句访问路径的方式

SQL 语句访问路径的方式 全表扫描&#xff08;Full Table Scans&#xff09; select * from t_Vio_Violation tPlan Hash Value : 1218663174 ----------------------------------------------------------------------------------------- | Id | Operation | Na…

应用商店双弹窗“APP在向用户申请权限时未同步告知用户申请此权限的理由”驳回uni-app应用上线的解决方法

目录 问题分析 解决方法 下载插件包&#xff1a;x-perm-apply-instr 将插件包导入进你项目中的uni_modules文件夹 在项目中的main.js文件中添加以下代码 完成 其它注意事项 addPermisionInterceptor 添加 uniApi 调用拦截 removePermisionInterceptor 移除 uniApi 调用…

大数据新视界 -- 大数据大厂之 Hive 数据导入:多源数据集成的策略与实战(上)(3/ 30)

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

数据库---HSQLDB使用教程详解

本学校期末的课程设计要求使用HSQLDB数据库&#xff0c;作为一个小众且轻量的数据库&#xff0c;很少人接触过&#xff0c;再加上同学们都问这个方面&#xff0c;所以就出教程&#xff0c;展示怎么使用HSQLDB。 第一步&#xff1a;启动HSQLDB 下载HSQLDB的jar包&#xff0c;因…

linux mount nfs开机自动挂载远程目录

要在Linux系统中实现开机自动挂载NFS共享目录&#xff0c;你需要编辑/etc/fstab文件。以下是具体步骤和示例&#xff1a; 确保你的系统已经安装了NFS客户端。如果没有安装&#xff0c;可以使用以下命令安装&#xff1a; sudo apt-install nfs-common 编辑/etc/fstab文件&#…

【百日算法计划】:每日一题,见证成长(026)

题目 给定一个包含正整数、加()、减(-)、乘(*)、除(/)的算数表达式(括号除外)&#xff0c;计算其结果。 表达式仅包含非负整数&#xff0c;&#xff0c; - &#xff0c;&#xff0c;/ 四种运算符和空格 。 整数除法仅保留整数部分。 * * 示例 1: 输入: “32X2” 输出: 7 import…

SQL的四种语言介绍

推荐网站&#xff1a;w3school 在线教程 用途&#xff1a;关键词参考书等等 注&#xff1a;本人习惯小写字母&#xff0c;建议关键字大写 SQL语言的分类&#xff1a; 1. DDl:数据定义语言&#xff0c;用来定义数据库对象&#xff08;数据库&#xff0c;表&#xff0c;字段&…