【MyBatis】学习笔记03:配置文件进一步解读(非常重要)
核心配置文件
<?xml version="1.0" encoding="UTF-8" ?><!--XML文件声明,版本号,编码-->
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd"><!--该XML文件约束是dtd文件规则,和Spring中的约束不一样,但是功能一样-->
<configuration><!--跟标签-->
<!--
environments配置多个连接数据库的环境
属性 default :设置默认使用的环境的id
-->
<environments default="development">
<!-- environment 配置某个具体的数据库环境 属性id表示 连接数据库环境的唯一标识,不能重复-->
<environment id="development"><!--在该标签内设置具体环境-->
<!-- 事务管理器 transactionManager 类型为JDBC-->
<transactionManager type="JDBC"/><!--事务管理方式为JDBC-->
<!-- dataSource:数据源 | POOLED:数据库连接池-->
<dataSource type="POOLED">
<!-- 驱动名称--><!--欢迎关注哔哩哔哩 萌狼蓝天-->
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<!-- 数据库地址--><!--欢迎关注哔哩哔哩 萌狼蓝天-->
<property name="url" value="jdbc:mysql://mllt.vip:3306/xrilang"/>
<!-- 数据库用户名--><!--欢迎关注哔哩哔哩 萌狼蓝天-->
<property name="username" value="mllt9920"/>
<!-- 数据库密码--><!--欢迎关注哔哩哔哩 萌狼蓝天-->
<property name="password" value="123456"/>
</dataSource>
</environment>
<!-- 配置第二个数据环境-->
<environment id="test">
<!--
transactionManager用来设置事务管理方式
属性 type 值有 JDBC或者MANAGED
JDBC:表示当前环境中,使用的是JDBC中原生的事务管理局方式,事务的提交和回滚需要手动处理
MANAGED:表示被管理,例如被Spring管理
-->
<transactionManager type="JDBC"/>
<!--
dataSource:配置数据源
属性 type 设置数据源类型 值有以下三种
POOLED:表示使用数据库连接池缓存数据库连接池缓存数据库连接
UNPOOLED:表示不使用数据连接池
JNDI:表示使用上下文的数据源
-->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://loaclhost:3306/xrilang"/>
<property name="username" value="mllt9920"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<!--引入映射文件-->
<mappers>
<mapper resource="mappers/UsersMapper.xml"/>
</mappers>
</configuration>
properties

resources bundle 资源绑定


将properties文件引入到核心文件


typeAliases:设置类型别名
注意
核心配置文件中标签较多时,要遵循一定的顺序
The content of element type "configuration" must match "(properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,reflectorFactory?,plugins?,environments?,databaseIdProvider?,mappers?)".

设置类型别名


注意:类型别名不区分大小写


mappers
以包为单位引入


注意是斜线,而不是点

注意,此时运行会发生错误,那么,为什么会发生错误呢,你可以先去运行测试下看看报错信息
以包为单位引入映射文件
要求:
1.mapper接口所在的包要和映射文件所在的包一致
2.mapper接口要和映射文件名字一致




此次再运行测试,就不会有问题了
【MyBatis】学习笔记03:配置文件进一步解读(非常重要)的更多相关文章
- Mybatis学习笔记(二) 之实现数据库的增删改查
开发环境搭建 mybatis 的开发环境搭建,选择: eclipse j2ee 版本,mysql 5.1 ,jdk 1.7,mybatis3.2.0.jar包.这些软件工具均可以到各自的官方网站上下载 ...
- MyBatis:学习笔记(3)——关联查询
MyBatis:学习笔记(3)--关联查询 关联查询 理解联结 SQL最强大的功能之一在于我们可以在数据查询的执行中可以使用联结,来将多个表中的数据作为整体进行筛选. 模拟一个简单的在线商品购物系统, ...
- MyBatis:学习笔记(1)——基础知识
MyBatis:学习笔记(1)--基础知识 引入MyBatis JDBC编程的问题及解决设想 ☐ 数据库连接使用时创建,不使用时就释放,频繁开启和关闭,造成数据库资源浪费,影响数据库性能. ☐ 使用数 ...
- mybatis学习笔记(五) -- maven+spring+mybatis从零开始搭建整合详细过程(附demo和搭建过程遇到的问题解决方法)
文章介绍结构一览 一.使用maven创建web项目 1.新建maven项目 2.修改jre版本 3.修改Project Facts,生成WebContent文件夾 4.将WebContent下的两个文 ...
- mybatis学习笔记(四)-- 为实体类定义别名两种方法(基于xml映射)
下面示例在mybatis学习笔记(二)-- 使用mybatisUtil工具类体验基于xml和注解实现 Demo的基础上进行优化 以新增一个用户为例子,原UserMapper.xml配置如下: < ...
- mybatis学习笔记(二)-- 使用mybatisUtil工具类体验基于xml和注解实现
项目结构 基础入门可参考:mybatis学习笔记(一)-- 简单入门(附测试Demo详细过程) 开始体验 1.新建项目,新建类MybatisUtil.java,路径:src/util/Mybatis ...
- Mybatis学习笔记二
本篇内容,紧接上一篇内容Mybatis学习笔记一 输入映射和输出映射 传递简单类型和pojo类型上篇已介绍过,下面介绍一下包装类型. 传递pojo包装对象 开发中通过可以使用pojo传递查询条件.查询 ...
- Mybatis学习笔记之二(动态mapper开发和spring-mybatis整合)
一.输入映射和输出映射 1.1 parameterType(输入类型) [传递简单类型] 详情参考Mybatis学习笔记之一(环境搭建和入门案例介绍) 使用#{}占位符,或者${}进行sql拼接. [ ...
- mybatis学习笔记--常见的错误
原文来自:<mybatis学习笔记--常见的错误> 昨天刚学了下mybatis,用的是3.2.2的版本,在使用过程中遇到了些小问题,现总结如下,会不断更新. 1.没有在configurat ...
- mybatis学习笔记(五):mybatis 逆向工程
mybatis学习笔记(五):mybatis 逆向工程 在日常开发中,如果数据库中存在多张表,自己手动创建 多个pojo 类和编写 SQL 语法配置文件,未免太过繁琐,mybatis 也提供了一键式生 ...
随机推荐
- 2022年7月中国数据库排行榜:墨天轮榜单榜眼易主,PolarDB得分涨幅最大
信创元年,后起之秀,大有可为.2022年7月的 墨天轮中国数据库流行度排行榜 风起云涌,本月排行榜共有232个数据库参与排名,相比上月,新增 ShuangzhaoDB 数据库.榜单前十名的唯一变化是达 ...
- 介绍一下 websocket
一般的http请求都是短连接,而webpack的使用可以建立长连接 : 什么是 websocket websocket 是一种网络通信协议,是 HTML5 开始提供的一种在单个 TCP 连接上进行全双 ...
- 如何集成化管理API_方便企业内外部调用?
API 已成为企业数字战略中不可或缺的一部分.它们使不同软件系统.应用程序和服务之间能够高效.灵活地相互沟通.API不仅能提升企业内部各部门之间的协作效率,还能加强与外部合作伙伴及客户之间的互动. A ...
- 云原生周刊:Kubernetes 1.30 的一切新功能 | 2024.4.1
开源项目推荐 Kubernetes scheduler simulator 该项目是一个用于模拟 Kubernetes 调度器行为的开源项目,可用于测试和评估调度器的性能和行为.它提供了一个模拟集群和 ...
- Java新特性-四大函数式接口
四大函数式接口指的是Consumer.Function.Predicate.Supplier,位于java.util.function包下: 函数式编程 lamabda表达式 函数式接口:在java中 ...
- NCNN 模型推理详解及实战
一,依赖库知识速学 aarch64 OpenMP AVX512 submodule apt upgrade 二,硬件基础知识速学 2.1,内存 2.2,CPU 三,ncnn 推理模型 3.1,shuf ...
- C#使用Socket实现分布式事件总线,不依赖第三方MQ
使用 Socket 实现的分布式事件总线,支持 CQRS,不依赖第三方 MQ. CodeWF.EventBus.Socket 是一个轻量级的.基于 Socket 的分布式事件总线系统,旨在简化分布式架 ...
- 摒弃传统setInterval, 自己封装一个
传统的setInterval在某种情况下会导致内存泄漏,每次调用都会占用一部分内存空间,既然threejs的更新都是基于# requestAnimationFrame的循环调用,那么我们就可以利用这个 ...
- [不得不知道系列]Java面试你不得不知道的基础知识一
当今世界上使用最广泛的编程语言之一是Java.Java是通用的高级编程语言.核心java是java编程技术概念的基础,该术语由sun Microsystems用来描述Java的标准版本(JSE).核心 ...
- JDK7新特性之G1 GC
Garbage-first garbage collector,简称G1 GC,是最终将用于代替Concurrent Mark-Sweep garbage collector(CMS GC)的新一代垃 ...