mybatis核心配置文件介绍

mybatis核心配置文件

1. properties配置介绍

properties标签:加载外部的资源配置文件

​ 属性:resource 指定要引入的配置文件路径

​ 在核心配置文件中,通过:${key}方式引入外部配置文件的数据

jdbc.peroperties 的文件内容如下

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/hsp_db02?useUnicode=true&characterEncoding=utf-8&useSSL=false
jdbc.username=root
jdbc.password=123456

在mybatis-config.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><!--加载外部配置文件--><properties resource="jdbc.properties"></properties><!--配置数据源(数据库连接)--><environments default="development"><environment id="development"><transactionManager type="JDBC"/><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><!--映射映射相关文件--><mappers><mapper resource="com/itheima/dao/UserMapper.xml"/></mappers>
</configuration>

2.settings标签

<?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 resource="jdbc.properties"></properties><!--开启驼峰映射:把数据表中的带有下划线的字段,变为java的驼峰命名方式。user_name->username userName--><settings><setting name="mapUnderscoreToCamelCase" value="true"/></settings><!--配置数据源(数据库连接)--><environments default="development"><environment id="development"><transactionManager type="JDBC"/><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><!--映射映射相关文件--><mappers><mapper resource="com/itheima/dao/UserMapper.xml"/></mappers>
</configuration>

3.typeAliases标签

<?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 resource="jdbc.properties"></properties><!--开启驼峰映射:把数据表中的带有下划线的字段,变为java的驼峰命名方式。user_name->username userName--><settings><setting name="mapUnderscoreToCamelCase" value="true"/></settings><!--设置别名--><typeAliases><!--扫描指定的名,所包下的所有的类,都起了别名,别名格式:全部小写或驼峰命名--><package name="com.itheima.pojo"/>
<!--        <typeAlias type="com.itheima.pojo.User" alias="User"></typeAlias>--></typeAliases><!--配置数据源(数据库连接)--><environments default="development"><environment id="development"><transactionManager type="JDBC"/><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><!--映射映射相关文件--><mappers><mapper resource="com/itheima/dao/UserMapper.xml"/></mappers>
</configuration>

4.typeHandlers和environments

4.1typeHandlers

MyBatis在设 置预处理语句(PreparedStatement)中的参数或从结果集中取出一个值时,都会用类型处理器将获取到的值以合适的方式转换成java类型

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--利用namespace属性,绑定当前映射文件和mapper接口映射关联-->
<mapper namespace="com.itheima.dao.UserMapper"><!--SQL查询文件--><select id="findAllUser" resultType="User">select id,username,birthday,sex,address from tb_user</select><select id="findName" resultType="string">select user_name from tb_user where id=1<!--user_name 在mysql中是varcharjava语言中varchar类型,使用Stringmybatis底层利用TypeHandler,实现varchar =>String--></select>
</mapper>

4.2environments

MyBatis可以配置成适应多种环境,例如,开发、测试和生产环境需要有不同的配置,尽管可以配置多个环境,每个SqlSessionFactory实例只能选择期一。

虽然,这种方式也可以做到很方便的分离多个环境,但是实际使用场景下,我们更多的是选择使用Spring来管理数据源来做到环境的分离

​ 父标签:environments

​ 子标签:environment

<?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 resource="jdbc.properties"></properties><!--开启驼峰映射:把数据表中的带有下划线的字段,变为java的驼峰命名方式。user_name->username userName--><settings><setting name="mapUnderscoreToCamelCase" value="true"/></settings><!--设置别名--><typeAliases><!--扫描指定的名,所包下的所有的类,都起了别名,别名格式:全部小写或驼峰命名--><package name="com.itheima.pojo"/>
<!--        <typeAlias type="com.itheima.pojo.User" alias="User"></typeAlias>--></typeAliases><!--配置数据源(数据库连接)--><environments default="dev"><!--开发环境--><environment id="dev"><!--事务管理器:按照jdbc默信的事务--><transactionManager type="JDBC"/><!--数据源(数据库连接池) mybatis有自带数据库连接池--><dataSource type="POOLED"><!--连接数据库需要的4个参数:驱动、URL、登录名、密码--><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><!--测试环境--><environment id="test"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/hsp_db02?useUnicode=true&amp;characterEncoding=utf-8&amp;useSSL=false"/><property name="username" value="root"/><property name="password" value="123456"/></dataSource></environment></environments><!--映射映射相关文件--><mappers><mapper resource="com/itheima/dao/UserMapper.xml"/></mappers>
</configuration>

5.mapper(映射器)

​ mapper标签的作用:提供了关联了加载XML映射文件件的配置功能;

​ 使用方式:

​ 1.加载XML映射文件,关联UserMapper.java接口

​ 【1】

​ 说明:如果项目采用基于XML的开发模式,建议使用方式1的开发

​ 2.加载接口,关联映映射文件

​ 条件:接口名和映射文件名保持一致,路径保持一致

​ 【2】批量加载class:

​ 说明如果是基于注解开发的话,推荐使用方式2开发

<?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 resource="jdbc.properties"></properties><!--开启驼峰映射:把数据表中的带有下划线的字段,变为java的驼峰命名方式。user_name->username userName--><settings><setting name="mapUnderscoreToCamelCase" value="true"/></settings><!--设置别名--><typeAliases><!--扫描指定的名,所包下的所有的类,都起了别名,别名格式:全部小写或驼峰命名--><package name="com.itheima.pojo"/>
<!--        <typeAlias type="com.itheima.pojo.User" alias="User"></typeAlias>--></typeAliases><!--配置数据源(数据库连接)--><environments default="dev"><!--开发环境--><environment id="dev"><!--事务管理器:按照jdbc默信的事务--><transactionManager type="JDBC"/><!--数据源(数据库连接池) mybatis有自带数据库连接池--><dataSource type="POOLED"><!--连接数据库需要的4个参数:驱动、URL、登录名、密码--><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><!--测试环境--><environment id="test"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/hsp_db02?useUnicode=true&amp;characterEncoding=utf-8&amp;useSSL=false"/><property name="username" value="root"/><property name="password" value="123456"/></dataSource></environment></environments><!--映射映射相关文件--><mappers><!--方案1:指定关联的映射文件,通过映射文件在关联mapper接口-->
<!--        <mapper resource="com/itheima/dao/UserMapper.xml"/>--><!--方案1:指定关联的mapper接口(通过mapper接口关联映射文件)要求:1.映射文件名和mapper接口必须相同2.映射文件和mapper接口存储在相同的路径下--><!--指定要扫描的所有mapper接口的包路径--><package name="com.itheima.dao"/></mappers>
</configuration>
erMapper.xml"/>--><!--方案1:指定关联的mapper接口(通过mapper接口关联映射文件)要求:1.映射文件名和mapper接口必须相同2.映射文件和mapper接口存储在相同的路径下--><!--指定要扫描的所有mapper接口的包路径--><package name="com.itheima.dao"/></mappers>
</configuration>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/621075.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

transfomer中Multi-Head Attention的源码实现

简介 Multi-Head Attention是一种注意力机制,是transfomer的核心机制. Multi-Head Attention的原理是通过将模型分为多个头&#xff0c;形成多个子空间&#xff0c;让模型关注不同方面的信息。每个头独立进行注意力运算&#xff0c;得到一个注意力权重矩阵。输出的结果再通过…

SVN切换账户

前言&#xff08;svn切换&#xff09; 本文章简单写下SVN账户切换操作 linux 1.删除目录 ~/.subversion/auth/ 下的所有文件。 2.再次操作svn时可重新输入用户名和密码。 windows (1)在工程中单击右键,单击"TortoiseSVN"。 (2)选择"Setting"。 (3)选择&quo…

C语言实现快排核心思想(双指针法)

核心代码&#xff1a; 这就是每一趟快排的实现代码&#xff0c;由上面的动图&#xff0c;我们能知道前后指针法的核心是玩好cur和prev这两个指针&#xff0c;具体的逻辑是cur找比key小的值&#xff0c;找到就prev&#xff0c;然后prev和cur的值就进行交换&#xff0c;但是总不能…

统信UOS操作系统上禁用IPv6

原文链接&#xff1a;统信UOS操作系统上禁用IPv6 hello&#xff0c;大家好啊&#xff01;继之前我们讨论了如何在麒麟KYLINOS上禁用IPv6之后&#xff0c;今天我要给大家带来的是在统信UOS操作系统上禁用IPv6的方法。IPv6是最新的网络通信协议&#xff0c;但在某些特定的网络环境…

PiflowX-DorisWrite组件

DorisWrite组件 组件说明 往Doris存储写入数据。 计算引擎 flink 组件分组 doris 端口 Inport&#xff1a;默认端口 outport&#xff1a;默认端口 组件属性 名称展示名称默认值允许值是否必填描述例子fenodesFenodes“”无是Doris FE http地址&#xff0c; 支持多个…

基于企业级SaaS低代码平台的协同制造产品解决方案

万界星空科技低代码平台提供的MES&#xff0c;WMS&#xff0c;QMS等应用&#xff0c;是助力企业从数字化工厂向数字化企业升级的落地管道及载体&#xff0c;能帮助企业在数字化转型的过程中&#xff0c;实现制造企业与其供应链的协同制造。从订单发出、供应商确认、供应商生产、…

数据结构时间复杂度与空间复杂度

文章目录 引入算法 1、时间复杂度1.概念2.大O渐进表示法3.常见时间复杂度计算举例 2、空间复杂度1.概念2.常见空间复杂度计算举例 引入 算法 算法就是一段能将一个物体从初始状态转换到某个目标转态的一个有限长序列方法的统称 算法效率&#xff1a;考虑一个方法是否好&…

网站优化之robots.txt

本文于2015年底完成。 在查询favicon.ico相关的资料时&#xff0c;无间中看到了robots.txt。当时没有太注意&#xff0c;后来在百度的站长平台上看到了robots.txt的说明&#xff0c;咨询了度娘&#xff0c;找到几处说明&#xff0c;这里摘抄过来。 robots.txt文件是一个文本文件…

使用setdefault撰写文本索引脚本(出自Fluent Python案例)

背景介绍 由于我们主要介绍撰写脚本的方法&#xff0c;所以用一个简单的文本例子进行分析 a[(19,18),(20,53)] Although[(11,1),(16,1),(18,1)] ambiguity[(14,16)] 以上内容可以保存在一个txt文件中&#xff0c;任务是统计文件中每一个词&#xff08;包括字母&#xff0c;数…

评估LLM在细胞数据上的实用性(2)-细胞层面的评估

本文衔接上一篇&#xff1a;评估LLM在细胞数据上的实用性(1)-基本概述 目录 定义参数和任务批次整合多模态整合细胞类型注释 细胞层面的评估批次整合多模态整合细胞类型注释 定义 我们考虑一个预训练LLM表示为 M ( x , θ ) M(x,\theta) M(x,θ)&#xff0c;其基于单细胞数据…

SpringMVC数据传递及数据处理

ModelAndView传递 编写controller Controller RequestMapping("/account") public class AccountController {//也可以不创建ModelAndView&#xff0c;直接在参数中指定RequestMapping(value "/findAccount9")public ModelAndView findAccount9(ModelAndV…

npm 和yarn的安装和使用方法

npm 和yarn的安装和使用方法 一、npm安装 gnvm install 10.24.1 gnvm use 10.24.1 gnvm ls gnvm npm global#npm i 报错问题error Unexpected token ‘.’ #解决办法 node降级安装为node 14.21.3版本 npm 6.14.18版本 #gnvm search 14.. gnvm install 14.21.3 gnvm ls gnvm …

RAG 评估框架 -- RAGAS

原文 引入 RAG&#xff08;Retrieval Augmented Generation&#xff09;的原因 随着ChatGPT的推出&#xff0c;很多人都理所当然直接用LLM当作知识库回答问题。这种想法有两个明显的缺点&#xff1a; LLM无法得知在训练之后所发生的事情&#xff0c;因此无法回答相关的问题存…

从零开始学习Python基础语法:打开编程大门的钥匙

文章目录 一、引言1.1 Python作为一种流行的编程语言的介绍1.2 Python的应用领域和适用性 二、为什么选择Python2.1 Python的简洁性和易读性2.2 Python的跨平台特性 三、Python在数据科学和人工智能领域的应用3.1 第一个Python程序3.1.1 Hello, World!&#xff1a;编写并运行你…

学习python仅此一篇就够了(内置模块)

内置模块 导入模块 import 关键字导入 --------- import math import 模块名称 as alias(别名) import hashlib as h (给hashlib起别名) from 包 import 模块名称 random模块 该模块主要用来产生随机数&#xff08;伪随机数,计算机产生不了真正的随机数&#xff0c;是依…

统信UOS_麒麟KYLINOS上使用Remmina远程Windows并传输文件

原文链接&#xff1a;统信UOS/麒麟KYLINOS上使用Remmina远程Windows并传输文件 hello&#xff0c;大家好啊&#xff01;继之前我们讨论了在统信UOS/麒麟KYLINOS与Windows之间通过Open SSH实现文件传输之后&#xff0c;今天我要给大家带来的是如何使用Remmina软件在统信UOS/麒麟…

第二百六十五回

文章目录 概念介绍使用方法示例代码 我们在上一章回中介绍了Flutter中如何使用三方包相关的内容&#xff0c;本章回中将介绍Widget的生命周期.闲话休提&#xff0c;让我们一起Talk Flutter吧。 概念介绍 本章回中介绍的生命周期是指Widget从创建到结果的整个过程&#xff0c;这…

12.2内核空间基于SPI总线的OLED驱动

在内核空间编写SPI设备驱动的要点 在SPI总线控制器的设备树节点下增加SPI设备的设备树节点&#xff0c;节点中必须包含 reg 属性、 compatible 属性、 spi-max-frequency 属性&#xff0c; reg 属性用于描述片选索引&#xff0c; compatible属性用于设备和驱动的匹配&#xff…

【数据结构】树和二叉树堆(基本概念介绍)

&#x1f308;个人主页&#xff1a;秦jh__https://blog.csdn.net/qinjh_?spm1010.2135.3001.5343&#x1f525; 系列专栏&#xff1a;《数据结构》https://blog.csdn.net/qinjh_/category_12536791.html?spm1001.2014.3001.5482 ​​ 目录 前言 树的概念 树的常见名词 树与…

linux TIME_WAIT时间变短

在Linux中&#xff0c;TIME_WAIT状态表示TCP连接已经关闭但还未完全清除的过程。默认情况下&#xff0c;TIME_WAIT状态会持续2分钟&#xff08;120秒&#xff09;以确保网络上没有重复的数据包被传输到错误的目标地址。 要将TIME_WAIT时间设置为更短的值&#xff0c;可以通过修…