4、Mybatis核心配置文件详解
4.1、environments
<!--
environments标签:配置多个连接数据库的环境
default属性:设置默认使用的环境的id
-->
<environments default="development">
<!--
environment标签:设置某个具体的连接数据库的环境
id属性:表示环境的唯一标识,不能重复
-->
<environment id="development">
<!--
transactionManager标签:设置事务管理器
type属性:设置事务管理方式
type="JDBC|MANAGED"
JDBC:表示使用的是JDBC中原生的事务管理方式,事务的提交或回滚需要手动处理,或手动开启自动提交或回滚事务
MANAGED:被管理,例如Spring
-->
<transactionManager type="JDBC"/>
<!--
dataSource标签:配置数据源
type属性:设置数据源的类型
type="POOLED|UNPOOLED|JNDI"
POOLED:表示使用数据库连接池缓存数据库连接
UNPOOLED:表示不使用数据库连接池
JNDI:表示使用上下文中的数据源,了解即可
-->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/ssm?characterEncoding=utf-8"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
<environment id="test">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/ssm?characterEncoding=utf-8"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
4.2、properties
4.2.1、创建properties文件
+++++++++++++++++++++++++++++++++++++分割线+++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++分割线+++++++++++++++++++++++++++++++++++++
4.2.2、设置键值对
注意:键名应该带有前缀,以避免命名冲突
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssm?characterEncoding=utf-8
jdbc.username=root
jdbc.password=root
4.2.3、引入properties文件
<!--引入properties文件,当前文件就可以通过${key}访问对应的value-->
<properties resource="jdbc.properties"/>
4.2.4、使用properties键值对
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
4.3、typeAliases
4.3.1、设置类型别名
注意:别名不区分大小写
<!--
typeAliases标签:设置类型的别名,在Mybatis范围中可以使用别名表示实际的类型
-->
<typeAliases>
<!--
typeAlias标签:设置某个类型的别名
type属性:设置需要别名的类型
alias属性:设置类型的别名
-->
<typeAlias type="org.rain.mybatis.pojo.User" alias="abc"/>
</typeAliases>
4.3.2、使用类型别名
<!--List<User> getAllUser();-->
<select id="getAllUser" resultType="abc">
select * from t_user
</select>
4.3.3、设置并使用类型默认别名
+++++++++++++++++++++++++++++++++++++分割线+++++++++++++++++++++++++++++++++++++
如果typeAlias标签没有设置alias属性,那类名就是默认的别名
4.3.4、通过包设置多个类型默认别名
一般会通过实体类包,为所有实体类设置默认别名
<typeAliases>
<package name="org.rain.mybatis.pojo"/>
</typeAliases>
4.4、mappers
4.4.1、创建路径一致的映射文件目录
+++++++++++++++++++++++++++++++++++++分割线+++++++++++++++++++++++++++++++++++++
注意:目录分隔符是“/”,而不是“.”。
+++++++++++++++++++++++++++++++++++++分割线+++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++分割线+++++++++++++++++++++++++++++++++++++
将映射文件放到该目录下
4.4.2、通过包引入多个映射文件
<!--引入mybatis的映射文件-->
<mappers>
<!--<mapper resource="mappers/UserMapper.XML"/>-->
<!--
通过包引入映射文件,必须满足两个条件:
1、mapper接口和映射文件所在的包必须一致
2、mapper接口的名字和映射文件的名字必须一致
-->
<package name="org.rain.mybatis.mapper"/>
</mappers>
4.4.3、其他注意事项
注意:通过包的方式引用映射文件,可能由于缓存问题而导致执行报错,此时可以通过rebuild相应的项目来解决
+++++++++++++++++++++++++++++++++++++分割线+++++++++++++++++++++++++++++++++++++
注意:在实际的输出工程中,映射文件和mapper接口会被加载到同一个目录
本文来自博客园,作者:Javaer1995,转载请注明原文链接:https://www.cnblogs.com/Javaer1995/p/17418376.html
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库