当前位置:网站首页>The XML configuration
The XML configuration
2022-08-01 18:20:00 【Cool Xiaoya】
文章目录
XML配置解析
1、核心配置文件
MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息 .
configuration(配置)
properties(属性)
settings(设置)
typeAliases(类型别名)
typeHandlers(类型处理器)
objectFactory(对象工厂)
plugins(插件)
environments(环境配置)
environment(环境变量)
transactionManager(事务管理器)
dataSource(数据源)
databaseIdProvider(数据库厂商标识)
mappers(映射器)
2、环境配置(environments)
MyBatis可以配置成适应多种环境
不过要记住:尽管可以配置多个环境,但每个SqlSessionFactoryInstance can only choose one situation.
(学会使用配置多套运行环境)
Mybatis默认的
- 事务管理:JDBC ,
- 连接池 :POOLED
3、属性(properties)
我们可以通过properties属性来实现引用配置文件
这些属性都是可外部配置且可动态替换的,既可以在典型的Java属性文件中配置,也可以通过properties元素的子元素来传递.

编写一个配置文件
db.properties
driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis01?useSSL=false&useUnicode=true&\
characterEncoding=UTF-8&serverTimezone=UTC
username=root
password=123456
在核心配置文件中映入
<!--引入外部配置文件-->
<properties resource="db.properties">
<property name="username" value="root"/>
<property name="password" value="123456"/>
</properties>
- 可以直接引入外部文件
- 可以在其中增加一些属性配置
- 如果两个文件有同一个字段,优先使用外部配置文件!
4、类型别名(typeAliases)
- 类型别名是为Java类型设置一个短的名字.
- 存在的意义仅在于用来减少类完全限定名的冗余.
<!--可以给实体类起别名-->
<typeAliases>
<typeAlias type="com.jin.pojo.User" alias="User"/>
</typeAliases>
<update id="UserUpdate" parameterType="User">
...
</update>
也可以指定一个包名,MybatisWill be in the package search need belowJava Bean,比如:
扫描实体类的包,He default alias for this class 类名,首小写!
<!--可以给实体类起别名-->
<typeAliases>
<package name="com.jin.pojo"/>
</typeAliases>
<update id="UserUpdate" parameterType="user">
...
</update>
在实体类比较少的时候,使用第一种方式!
在实体类比较多的时候,使用第二种方式.
第一种可以DIY别名,第二种则不行.如果非要改,需要在实体类上增加注解!

5、设置(settings)


6、其他配置
- typeHandlers(类型处理器)
- objectFactory(对象工厂)
- plugins插件
- mybatis-generator-core
- mybatis-plus
- 通用mapper
7、映射器(mappers)
典型报错:MapperRegistry 注册绑定我们的Mapper文件
方式一:【推荐】
<!-- 使用相对于类路径的资源引用 -->
<mappers>
<mapper resource="com/jin/mapper/UserMapper.xml"/>
</mappers>
方式二:
<!-- 使用映射器接口实现类的完全限定类名 -->
<mappers>
<mapper class="com.jin.mapper.UserMapper.xml"/>
</mappers>
注意点:
- 接口和他的Mapper配置文件必须同名!
- 接口和他的Mapper配置文件必须在同一个包下!
方式三:
<!--使用扫描包进行注入绑定-->
<mappers>
<package name="com.jin.mapper"/>
</mappers>
注意点:
- 接口和他的Mapper配置文件必须同名!
- 接口和他的Mapper配置文件必须在同一个包下!
边栏推荐
- C#/VB.NET:从 PDF 文档中提取所有表格
- B001 - Intelligent ecological fish tank based on STM32
- WinRAR | 将多个安装程序生成一个安装程序
- 公用函数----mfc
- OnePlus 10RT appears on Geekbench, product launch also seems to be approaching
- 【Day_09 0427】走方格的方案数
- 483-82(23、239、450、113)
- Leetcode74. Search 2D Matrix
- 【Translation】OpenMetrics cultivated by CNCF becomes an incubation project
- LeetCode 0152. 乘积最大子数组:dp + 原地滚动
猜你喜欢

How many steps does it take to convert an ENS domain name into music?

Zabbix6.0 DingTalk robot alarm
Detailed explanation of DBPack SQL Tracing function and data encryption function

日志工厂(详细)

What is the JVM runtime data area and the JMM memory model

C#/VB.NET:从 PDF 文档中提取所有表格

Summer vacation second week wrap-up blog

QPalette palette, frame color fill

B001 - Intelligent ecological fish tank based on STM32

以消费场景为驱动的CMDB要怎么建?
随机推荐
SQL的ROUND函数用法及其实例
打开微信客服
将ENS域名转化为音乐需要几步?
史上最全的Redis基础+进阶项目实战总结笔记
8月微软技术课程,欢迎参与
Tower Defense Shoreline User Agreement
【Day_10 0428】密码强度等级
483-82(23、239、450、113)
QT basic functions, signals, slots
QPalette调色板、框架色彩填充
顺序表的简单描述及代码的简单实现
QT_QThread thread
请你说说多线程
Leetcode75. 颜色分类
Go iota关键字与枚举类型实现原理是什么
ExcelPatternTool: Excel表格-数据库互导工具
How many steps does it take to convert an ENS domain name into music?
塔防海岸线用户协议
QT_Event class
University of California | Inverse Reinforcement Learning from Different Third-Person Videos via Graph Abstraction