【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 也提供了一键式生 ...
随机推荐
- 对于python中GIL的一些理解与代码实现
近期看了一些关于GIL的一些内容,敲一下代码看看效果. # coding:utf-8 # GIL(Global Interpreter Lock):他只允许任何时刻只有一个线程处于执行状态,即使是在具 ...
- 可视化U-Net编码器每层的输出(在已经训练好的模型下展示,并不是初始训练阶段展示)
想看一下对于一个训练好的模型,其每一层编码阶段的可视化输出是什么样子的.我以3Dircabd肝脏血管分割为例,训练好了一个U-Net模型.然后使用该模型在推理阶段使用,并可视化了每一层编码器. 分割结 ...
- Teradata退出中国,您可以相信中国数据库!
继Adobe.Tableau.Salesforce之后,2023年2月15日,数仓软件巨头Teradata宣布将逐步结束在中国的直接运营.数仓界的"黄埔军校"仓皇撤出中国市场给出的 ...
- iOS生成ipa包的时候总是弹窗提示macOS想要使用系统钥匙串
最近新换了一台苹果电脑,性能不错,不过证书和描述文件需要重新配置,遇到了一系列奇怪的问题.在这里整理记录下来,希望能给其他人提供一些帮助.iOS生成ipa包的时候总是弹窗提示[macOS想要使用系统钥 ...
- C#获取环境变量的值
Environment.GetEnvironmentVariable("Path"); 修改环境变量之后,不能立即生效,需要重启一下VStudio 或重启电脑 : 在 vstudi ...
- 前端 vue.config.js 处理跨域问题 proxy 代理
问: 业务中的跨域问题是如何解决的? 这个的话我们公司⼤概分了俩种环境,⼀种是开发的时候,⼀种是上⽣产的时候,开发的时候因为要对 接的后端可能会⽐较多,他们配置不太⽅便,这个时候采取的是⽐较⽅便的前端 ...
- day13-JavaDoc
JavaDoc JavaDoc命令是用来生成自己API文档的 参数信息 @author 作者名 @version 版本号 @since 指明需要最早使用的jdk版本 @param 参数名 @retur ...
- KubeSphere 3.3.0 离线安装教程
作者:老Z,中电信数智科技有限公司山东分公司运维架构师,云原生爱好者,目前专注于云原生运维,云原生领域技术栈涉及Kubernetes.KubeSphere.DevOps.OpenStack.Ansib ...
- 用故事说透HTTPS
本文来自素燕公众号,原文地址:用故事说透https 故事中的主演: 小华今年上大一,这是她第一次离开父母,独自一人到北京上学.今天妈妈的生日,想了想要给妈妈一个祝福,便给妈妈发了条消息: 妈妈收到这条 ...
- C++ mutable与常对象语义详解
摘编自 <Effective C++> 条款三. "成员函数如果是const" 或者 "一个对象是const对象"到底意味什么?有两个流行概念:bi ...