【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 也提供了一键式生 ...
随机推荐
- linux安装SVN并设置SVN钩子
linux安装SVN并设置SVN钩子 检查已安装版本 #检查是否安装了低版本的SVN rpm -qa subversion #卸载旧版本SVN yum rovesubversion 一.安装SVN y ...
- 进程切换分析(2):TLB处理
一.前言 进程切换是一个复杂的过程,本文不准备详细描述整个进程切换的方方面面,而是关注进程切换中一个小小的知识点:TLB的处理.为了能够讲清楚这个问题,我们在第二章描述在单CPU场景下一些和TLB相关 ...
- signalR的身份认证
- 06 - react的类组件中的状态state render函数 this指向问题 事件绑定
// 注册事件 import ReactDom from "react-dom" import { Component } from "react" // 类组 ...
- vue2 + webpack 分析报告 report == webpack-bundle-analyzer
packjson.js 配置 "build-report":"vue-cli-service build --report", 执行 : npm run bui ...
- Android复习(三)清单文件中的元素——>supports-gl-texture、supports-screens
<supports-gl-texture> 注意:Google Play 会根据应用支持的纹理压缩格式对其进行过滤,以确保应用只能安装在可正确处理其纹理的设备上.您可以将纹理压缩过滤用作定 ...
- dc-2靶机-超详解
dc-2内网靶 1.信息收集 入站信息 nmap扫描 nmap -A -p- -v 192.168.27.0/24 得到消息: IP:192.168.227.139 cms:wordpress 4.7 ...
- typescript 编译报错 不能用于索引类型
Element implicitly has an 'any' type because expression of type 'any' can't be used to index type 't ...
- CF980-Div2-D
CF980-Div2-D 题意 从 \(1\) 开始决策,若选当前数,则累计贡献 \(a[i]\) 并跳到 \(j\) 位置,\(j\) 是 \(\lt i\) 且没有决策过(包括选了和没选)的最大位 ...
- RTCP报文解析
RTCP包的头部结构体定义 struct RTCP_Header { unsigned short rc:5; unsigned short padding:1; unsigned short ver ...