MyBatis核心配置文件解析: 一步步深入理解mybatis-config.xml
😀前言
在进行MyBatis项目开发时,合理和高效的配置是确保项目顺利进行的基础。其中,mybatis-config.xml配置文件扮演着极其重要的角色,它包含了MyBatis运行时的各种必要配置信息,如数据库连接属性、事务管理器配置、别名配置等。
.
提供了一份详细的mybatis-config.xml配置文件解析,一步一步解构每一个配置元素,并提供实例来让您更好地理解其工作原理。不管您是MyBatis的新手,还是有一些经验但希望加深理解的开发人员,希望可以给您提供极大的帮助。
🏠个人主页:尘觉主页
🧑个人简介:大家好,我是尘觉,希望我的文章可以帮助到大家,您的满意是我的动力😉😉
在csdn获奖荣誉: 🏆csdn城市之星2名
???? ???? ???? ???? ???? ???? ???? ???? 💓Java全栈群星计划top前5
???? ???? ???? ???? ???? ???? ???? ???? 🤗 端午大礼包获得者
???? ???? ???? ???? ???? ???? ???? ???? 🥰阿里云专家博主
???? ???? ???? ???? ???? ???? ???? ???? 😉亚马逊DyamoDB结营
💕欢迎大家:这里是CSDN,我总结知识的地方,欢迎来到我的博客,感谢大家的观看🥰
如果文章有什么需要改进的地方还请大佬不吝赐教 先在次感谢啦😊
文章目录
MyBatis核心配置文件解析: 一步步深入理解mybatis-config.xml
说明
mybatis 的核心配置文件(mybatis-config.xml),比如配置 jdbc 连接信息,注册 mapper等等,我们需要对这个配置文件有详细的了解
文档地址: https://mybatis.org/mybatis-3/zh/configuration.html
properties 属性
● 通过该属性,可以指定一个外部的 jdbc.properties 文件,引入我们的 jdbc 连接
创建 jdbc.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=UTF-8
jdbc.user=root
jdbc.pwd=123456
修改 mybatis-confing.xml
<environments default="development">
<environment id="development">
<!--配置事务管理器-->
<transactionManager type="JDBC"/>
<!--配置数据源
解读
1. 我们使用外部的properties文件来设置相关的值
2. 这个属性文件,需要统一的放在 resources目录/类加载路径
3. 关于属性文件,在讲解java基础-集合
-->
<dataSource type="POOLED">
<!--配置驱动-->
<!--<property name="driver" value="com.mysql.jdbc.Driver"/>-->
<property name="driver" value="${jdbc.driver}"/>
<!--配置连接mysql-url
解读:
1. jdbc:mysql 协议
2. 127.0.0.1:3306 : 指定连接mysql的ip+port
3. mybatis: 连接的DB
4. useSSL=true 表示使用安全连接
5. & 表示 & 防止解析错误
6. useUnicode=true : 使用unicode 作用是防止编码错误
7. characterEncoding=UTF-8 指定使用utf-8, 防止中文乱码
8. 温馨提示:不要背,直接使用即可
-->
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.user}"/>
<property name="password" value="${jdbc.pwd}"/>
</dataSource>
</environment>
</environments>
修改父项目的 pom.xml(如果已经配置了*.properties 就不用再配置) 并完成测试
解读:
在build中配置resources,来防止我们资源导出失败的问题
-
不同的idea/maven 可能提示的错误不一样
-
不变应万变,少什么文件,就增加相应配置即可
-
含义是将 src/main/java目录和子目录 和 src/main/resources目录和子目录的资源文件 xml 和 properties在build项目时,导出到对应的target目录下
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
</includes>
</resource>
</resources>
</build>
settings 全局参数定义
settings 列表,通常使用默认
typeAliases 别名处理器
- 别名是为 Java 类型命名一个短名字。它只和 XML 配置有关,用来减少类名重复的部分
- 如果指定了别名,我们的MappperXxxx.xml 文件就可以做相应的简化处理
- 注意指定别名后,还是可以使用全名的
- 举例说明
修改mybatis-confi g.xml
<!--配置别名-->
<typeAliases>
<!--<typeAlias type="com.wyxedu.entity.Monster" alias="Monster"/>-->
<!--
如果一个包下有很多的类,我们可以直接引入包,这样
该包下面的所有类名,可以直接使用
-->
<package name="com.wyxedu.entity"/>
</typeAliases>
修改MonsterMapper.xml 并完成测试
没有在 mybatis-config.xml 指定 typealiases 时,需要给 Monster 指定全类名
<!--配置addMonster
1. id="addMonster" 就是接口的方法名
2. parameterType="com.wyxedu.entity.Monster" 放入的形参的类型
3. 注意"com.wyxedu.entity.Monster" 可以简写
4. 写入sql语句=> 建议,现在sqlyog 写完成-测试通过,再拿过来
5. (`age`, `birthday`, `email`, `gender`, `name`, `salary`) 表的字段
6. (#{age}, #{birthday}, #{email}, #{gender}, #{name}, #{salary}) 是从传入的monster对象属性值
7. 这里 #{age} age 对应monster对象的属性名,其它一样
-->
<insert id="addMonster" parameterType="Monster" useGeneratedKeys="true" keyProperty="id">
INSERT INTO `monster`
(`age`, `birthday`, `email`, `gender`, `name`, `salary`)
VALUES (#{age}, #{birthday}, #{email}, #{gender}, #{name}, #{salary})
</insert>
typeHandlers 类型处理器
- 用于java 类型和jdbc 类型映射
- Mybatis 的映射基本已经满足,不太需要重新定义
- 这个我们使用默认即可,也就是 mybatis 会自动的将 java 和 jdbc 类型进行转换.
- java 类型和 jdbc 类型映射关系一览 [ 手 册 ]
https://mybatis.org/mybatis-3/zh/configuration.html#typeHandlers
environments 环境
resource 注册Mapper 文件: XXXMapper.xml 文件(常用,使用过)
class:接口注解实现(使用过)
url:外部路径,使用很少,不推荐,
package 方式注册 : 并测试
当一个包下有很多的 Mapper.xml 文件和基于注解实现的接口时,为了方便,我们可以以包方式进行注册将下面的所有 xml 文件和注解接口 都进行注册
<package name="com.wyxedu.mapper"/>
😄总结
通过这篇详细的指南,我们已经深入探讨了MyBatis的mybatis-config.xml配置文件的各个方面。我们学习了如何通过外部属性文件配置JDBC连接信息,如何利用typeAliases来简化XML配置,以及如何正确配置和使用typeHandlers来处理特殊的Java类型和JDBC类型映射。
我们还详细讨论了settings配置和environments配置,以及如何通过pom.xml确保资源文件被正确处理。我们甚至深入研究了如何以包的方式注册Mapper文件,简化了Mapper的管理。
希望这份指南能帮助您更好地掌握MyBatis配置,为您的下一个项目打下坚实的基础。
感谢您的阅读,祝您编码愉快!
😁热门专栏推荐
想学习vue的可以看看这个
等等等还有许多优秀的合集在主页等着大家的光顾感谢大家的支持
🤔欢迎大家加入我的社区 尘觉社区
文章到这里就结束了,如果有什么疑问的地方请指出,诸佬们一起来评论区一起讨论😁
希望能和诸佬们一起努力,今后我们一起观看感谢您的阅读🍻
如果帮助到您不妨3连支持一下,创造不易您们的支持是我的动力🤞
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!